给定这样的Regex
代码:
Matcher m = Pattern.compile("c:.*?(|t:){1}.*?").matcher(string);
我只想匹配类似的东西c:somesubstring|t:somesubstring
。但是,它也可以匹配以下内容:
c:somesubstring
和
c:somesubstring|a:somesubtring
怎么会这样 我(|t:){1}
用来保证该模式|t:
只会发生一次。告诉我我的问题是有帮助的,regex
并且给我一个regex
匹配项c:somesubstring|t:somesubstring
|
是regex中的一个特殊的元字符,它的行为类似于逻辑OR运算符,通常用于合并两个regex。您需要转义|
符号,以便它与文字|
符号匹配。
Matcher m = Pattern.compile("c:.*?(\\|t:){1}.*?").matcher(string);
矮得多。
Matcher m = Pattern.compile("c:.*?\\|t:.*?").matcher(string);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句