我有以下文字

bla bla ==   aaaaaa(bb)aaaaaa  == bla bla


我想找到字符串(匹配)

==   aaaaaa(bb)aaaaaa   ==


我不知道==和aaaaaa之间有多少空格,所以文本也可能是

bla bla ==          aaaaaa(bb)aaaaaa  == bla bla


在这种情况下,我想配对

==          aaaaaa(bb)aaaaaa  ==


我尝试使用以下正则表达式,但是我意识到方括号无法识别:

==(.+?)aaaaaa(bb)aaaaaa(.+?)==


怎么做 ?

最佳答案

如果要在字符串中匹配(),则需要在它们前面加上反斜杠字符。我想你可能想要这样的东西

Pattern pat = Pattern.compile("==(.+?)aaaaaa\\(bb\\)aaaaaa(.+?)==");


(您需要在字符串文字中包含两次反斜杠,以便将一个反斜杠添加到实际模式中。)

10-06 09:20