我正在做一個簡單的Lookbehind Assertion來獲取網段的一部分(下面的例子),但不是獲得匹配我得到以下錯誤:Javascript/RegExp:Lookbehind Assertion導致「無效組」錯誤
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.
你可以給一些示例輸入字符串,它的哪些部分必須由正則表達式匹配? – Shekhar 2011-05-12 05:36:37
我已經將它從代碼塊中移動到主要示例。上面更新。請讓我知道你是否想要更多的細節,我會很樂意發佈它。 – Jannis 2011-05-12 05:45:17