Java正则表达式匹配

克里斯蒂娜

给定这样的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

阿维纳什·拉吉(Avinash Raj)

|是regex中的一个特殊的元字符,它的行为类似于逻辑OR运算符,通常用于合并两个regex。您需要转义|符号,以便它与文字|符号匹配

Matcher m = Pattern.compile("c:.*?(\\|t:){1}.*?").matcher(string);

矮得多。

Matcher m = Pattern.compile("c:.*?\\|t:.*?").matcher(string);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章