我正在研究java正则表达式,但根据一些例子,我发现像下面这样的群体正在混淆。那么任何人都可以说明由
给出的正则表达式(?<!\d) and (?!\d)
我明白了:
\d for digit
? for one or zero
! for not
上述群体意味着什么?请帮忙!
提前致谢。
答案 0 :(得分:5)
表达式(?<!\d)
和(?!\d)
是“负面看待”和“负向展望”。它们是负的零宽度断言,不捕获组。
表达式(?<!\d)
断言前一个字符不一个数字
表达式(?!\d)
断言下一个字符不一个数字。
虽然他们看起来像组,但这只是使用括号的语法。
顺便提一下,它们可以表示为正面看(?<=^|\D)
和(?=\D|$)
答案 1 :(得分:0)