我需要一个模式(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