我需要一個模式(java正則表達式),如果在鍵或鍵在行尾之後有逗號,則匹配模式(java正則表達式)。即它應該同時匹配以下的:符號或行結尾的模式
1. xxxkey,yyy
2. xxxkey
我用盡[\\,$]
模式,但它不能正常工作。
我需要一個模式(java正則表達式),如果在鍵或鍵在行尾之後有逗號,則匹配模式(java正則表達式)。即它應該同時匹配以下的:符號或行結尾的模式
1. xxxkey,yyy
2. xxxkey
我用盡[\\,$]
模式,但它不能正常工作。
$
在一個字符類裏面失去了它的特殊含義。使用以下代替:
key(,|$)
如果你不需要知道是否有一個逗號,你可以改用非捕獲組:
key(?:,|$)
嘗試......
"xxxkey(?:,\\w*)?$"
或 -
"xxxkey(?:,.*)?$"
或 -
"xxxkey(?:,|$)"
根據您的需求
的,
是一個字符,但$
是特殊的,它不是一個字符。
嘗試,?
這意味着一個逗號或沒有逗號,並跟隨$
。
這裏就是你需要的東西:
.*key((,.*)|$)
你會如何使用字符類中的特殊含義轉義字符? – Oliver
謝謝!!!!!! )) – shift66
@Oliver:這不僅僅是逃避'$'的問題。既然它是一個錨,而不是一個角色,我不認爲你可以放入一個角色類*,而不會失去它的特殊含義。在任何情況下,請參閱http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html以獲取Java正則表達式語法。 – NPE