Javascript / RegExp:隐式断言导致“无效组”错误

|| 我正在做一个简单的Lookbehind断言以获取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
。 谁能阐明为什么这个正则表达式组导致此错误?在我看来是有效的RegEx。 我知道如何获得所需细分的替代方法,因此,这实际上只是在帮助我了解此处的情况,而不是获得替代解决方案。 谢谢阅读。 J.     
已邀请:
我认为JavaScript不支持积极的后向支持。您将不得不执行以下操作:
<script>
var regex = /\\#\\!\\/([^\\/]+)/;
var url = \"http://my.domain.com/index.php/#!/write-stuff/something-else\";
var match = regex.exec(url);
alert(match[1]);
</script>
    
Javascript不支持后向语法,因此ѭ6error是导致无效错误的原因。但是,您可以使用多种技术来模仿它:http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript     

要回复问题请先登录注册