在玩字符串,正则表达式
*23
(解释:空格星号23)去匹配
123
(解释:一堆空格23)
居然匹配上了
23
(解释:23)
我惊了!1怎么被断言掉了??难道空格星号除了空格的限定匹配,还有断言的作用?从正则编译期上看,好像是既匹配,又断言
请问这是怎么回事?
收起
你/ *23/是在匹配什么要清楚,是在匹配一个字符串是任意个空格+23,因此在 许多个空格123中去匹配,最终前面的都没匹配上,只匹配上了23这个字符串,23这个字符串代表0个空格+23。如果使用/ +23/去匹配,+代表至少一个,那就匹配不到东西了。
任意个空格+23
许多个空格123
0个空格+23
报告相同问题?