3 回答

繁华开满天机
TA贡献1816条经验 获得超4个赞
就这么说吧 光是这正则匹配不到任何东西
?=
零宽度正先行断言
示例
?=exp
匹配得后面是exp
结尾的
xx(?=exp)
匹配后面是exp的xx
但是题中的正则之后?=exp
部分.没有预匹配项,所以无结果
(?!)
零宽度负先行断言
示例?=exp
匹配得后面不是
exp
结尾的xx(?!exp)
匹配后面不是
exp
的xx
总结来说就是一个 不是单词边界(出现在单词中间)的三位数字且以它为结尾.匹配1次或更多次的 **
上面一句话中的 **
应该是写在 这个位置(?=(?!(\b))(\d{3})+$)
所以 这个正则什么都匹配不到.可能也就是空白或者空字符
=====================================
补充:
(?!(\b))(\d{3})+$
既然不是在单词边界的三位数字.那么可能出现的情况如下
wo111rd
但是后面有个$
$表示结尾
那就是既要在中间.还要以它结尾. 这逻辑本身不对吧
还是我理有误.
若有误还请指出

慕容森
TA贡献1853条经验 获得超18个赞
空字符后面跟着 (?= 表示跟着), 不能是单词开始 (?!向后否定), 在跟着 3个数字为一组的 多组数字直至字符结尾
这是数字格式化吧, 没考虑小数的情况
添加回答
举报
0/150
提交
取消