关于后行断言

最近在看阮一峰老师的es6入门,在看到正则扩展里面的后行断言部分的时候有点问题.请各位指教

clipboard.png

1.红箭头处,为啥匹配出来的数组的第一个是空字符串

2.能解释解释图中那个反斜杠引用这个例子吗,完全没看懂...

阅读 3.5k
1 个回答
  • 第一个问题原文有写到:

“后行断言”的括号之中的部分((?<=&dollar;)),也是不计入返回结果

例子中 (?<=(\d+)(\d+))$ 之间是空的,所以匹配出来是空字符串。

  • 第二个问题我是这么理解:

如果非后行断言 /(o)d\1/,引用 \1 放在捕获组 (o)
如果是后行断言 /(?<=\1d(o))/,引用 \1 放在捕获组 (o)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进