我在Expresso中找到了一個正則表達式模板,這個工作正常並且返回完美匹配,但是在JavaScript中它不起作用。我知道它可能是爲了後視,但我沒有足夠的效率在正則表達式中使它與JS兼容。這個正則表達式如何與JavaScript兼容?
\((?>[^()]+|\((?<number>)|\)(?<-number>))*(?(number)(?!))\)
我想與它相匹配...
max(50, max(51, 60)) a() MAX(s,4,455)something
......它應該返回......
1: (50, max(51, 60))
2:()
3: (s,4,455)
這工作完全在快報但JS控制檯在Chrome說:
Uncaught SyntaxError: Invalid regular expression: /\((?>[^()]+|\((?<number>)|\)(?<-number>))*(?(number)(?!))\)/: Invalid group
這個正則表達式怎麼樣被修改爲在JavaScript中正常運行?
檢查此鏈接在JavaScript中看後面:http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript – 2011-05-04 16:07:09
而且還有你的選擇。謝謝,Rocket。 – 2011-05-04 16:08:00