Javascript / RegExp:Lookbehind Assertion导致“无效组”错误

前端之家收集整理的这篇文章主要介绍了Javascript / RegExp:Lookbehind Assertion导致“无效组”错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做一个简单的Lookbehind断言来获取URL的一部分(下面的示例)但是没有得到匹配,我得到以下错误
Uncaught SyntaxError: Invalid regular expression: /(?<=\#\!\/)([^\/]+)/: Invalid group

这是我正在运行的脚本:

var url = window.location.toString();

网址== 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 ) );

结果应该是写东西.

任何人都可以解释为什么这个正则表达式组导致此错误?对我来说看起来像一个有效的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>
原文链接:https://www.f2er.com/js/159548.html

猜你在找的JavaScript相关文章