我在C#中創建了以下正則表達式,以格式{token}從字符串中提取令牌。我在C#中開發了正則表達式,並確認它可以工作。JavaScript RegEx語法錯誤
// c#
var regex = new Regex(
"\\{ (?>[^{}]+| \\{ (?<number>) | \\} (?<-number>))*(?(number)(?!))\\}",
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant |
RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled);
var matches = regex.Matches("blah {token1} blah blah blah {token2} blah");
可變matches
結束含有兩個比賽 - 「{} TOKEN1」 和 「{} token2」。
我需要在JavaScript中執行此,但我得到一個語法錯誤表達,當我試圖執行以下行...
// JavaScript
var regex = new RegExp("\\{ (?>[^{}]+| \\{ (?<number>) | \\} (?<-number>))*(?(number)(?!))\\}");
有什麼明顯的,我做錯了什麼?
我想使用JavaScript中不支持的RegEx功能嗎?
沒有額外的要求。這實際上似乎對我有用。下面的代碼給出了我需要的匹配... text.match(/ \ {[^ \}] * \}/g);看起來我太過於複雜了。我真的很努力與正則表達式的東西。我非常尊重任何有頭腦的人。非常感謝。 – 2010-12-15 10:38:55
歡迎您,我很樂意提供幫助! – morja 2010-12-15 10:47:36