有谁能跟我讲解下这个正则表达式吗

/(?=(?!(\b))(\d{3})+$)/g


守着一只汪
浏览 510回答 3
3回答

繁华开满天机

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

慕容森

空字符后面跟着 (?= 表示跟着), 不能是单词开始 (?!向后否定), 在跟着 3个数字为一组的 多组数字直至字符结尾这是数字格式化吧, 没考虑小数的情况
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript