关于Java正则表达式问题

如题所述

第1个回答  2021-01-30

正则表达式是用括号进行分组的。按左括号的从左到右依次计入组别。而(?:)这个就不计入分组中了。

举例:


上面的例子中加了?:后面的\1就取不到第一个分组了所以就会出错。


而?=则是另一种理解方式了,一般管这个叫前瞻(也叫正向预判)

先看看(?=)这部分是否符合,如果不符合那么就不能匹配。