前言
定义和用法
?=n 量词匹配任何其后紧接指定字符串 n 的字符串。
1 | var str="hello world"; |
匹配到
1 | [ll] |
(?=o) 起到了 辅助定位作用…
某正则解析
1 | var str = "12345678"; |
解释说明:
为了方便说明, 使用@表示非边界内容
/B 匹配到 所有非边界内容, 即 @ , @是看不见的
1@2@3@4@5@6@7@8
(?=(…)) 这句匹配 任意三个数字, 起到辅助定位作用
因此 /B(?=(…))/g
匹配到
234
345
456
@567
@678
@78 不满足条件所以不匹配
匹配到的条件替换成 “,” 因此结果是 1,2,3,4,5,678
再加上 $ 变成/B(?=(…)$)/g
$ 表示结尾
因此只能匹配到
678
匹配到的条件替换成 “,” 因此结果是12345,678
再加上 + 变成 /B(?=(…)+$)/g
+表示 一个或者多个
因此匹配到
678
345678 即 345678前面的非边界内容@, ?=n 只是起到辅助定位作用
@12 345 678 不满足条件不匹配
匹配到的条件替换成 “,” 因此结果是12,345,678
参考
某大佬的。。。