关于java正则表达式的问题?

String line = "条件A>1.181 && 条件B>1.186"; 这是语句
String pattern = "start\\s*(.+)>(.+)\\s*&&\\s*(.+)>(.+)\\s*"; 这是正则式

我发现&&可以很好的分组,但是用||就不行了,请问怎么用||。
还有正则式怎么改才能同时匹配&&或||,也就是就是语句可能不是&&希望也能匹配||。

繁星淼淼
浏览 638回答 1
1回答

天涯尽头无女友

因为|是正则表达式中或的意思,所以如果要匹配原始字符串中的|,需要转义\|,在Java中用双转义符转义\\|所以如果你想同时匹配&&或||,正则表达式需要这样写String pattern = "start\\s*(.+)>(.+)\\s*(&&|\\|\\|)\\s*(.+)>(.+)\\s*";注意你的捕获组也需要做相应调整
打开App,查看更多内容
随时随地看视频慕课网APP