我正在做一个简单的 Lookbehind Assertion 来获取 URL 的一部分(下面的示例),但我没有得到匹配,而是得到以下错误:
Uncaught SyntaxError: Invalid regular expression: /(?<=\#\!\/)([^\/]+)/: Invalid group
这是我正在运行的脚本:
var url = window.location.toString();
url ==
http://my.domain.com/index.php/#!/write-stuff/something-else
// lookbehind to only match the segment after the hash-bang.
var regex = /(?<=\#\!\/)([^\/]+)/i;
console.log('test this url: ', url, 'we found this match: ', url.match( regex ) );
结果应该是write-stuff
。
谁能解释为什么这个正则表达式组会导致这个错误?对我来说看起来像是一个有效的正则表达式。
我知道如何获得我需要的部分的替代方案,所以这实际上只是帮助我了解这里发生了什么,而不是获得替代解决方案。
谢谢阅读。
J。