我想匹配的字符串包含在[%___%]
expresions,前//
(評論),不包括//
是在報價單(在字符串中)
因此,例如
[%tag%] = "a" + "//" + [%tag2%]; //[%tag3%]
應該匹配[%tag%]
和[%tag2%]
正則表達式匹配的字符串內容,直到評論
最接近我可以是^(?:(?:\[%([^%\]\[]*)%\])|[^"]|"[^"]*")*?(?://)
所以我在的問題是,這種不匹配這不//
事實上結束y方向的弦,它聚合線,直到它可以在一個包含//
我試圖在最後與?.*?$
來解決這個問題,以表示//
是沒有必要的,並得出結論去第一個endline,但它並沒有真正的工作。
其次,它只捕獲第二個標籤。這是"//"
不是因爲因爲即使[%1%] [%2%]
也不會拍攝第一
我使用C#和Regex.Matches
與RegexOptions.Multiline
選項,這是我逃脫字符串
"^(?:(?:\\[%([^%\\]\\[]*)%\\])|[^\"]|\"[^\"]*\")*?(?://)"
你寫與正則表達式編譯器? – manojlds 2011-06-06 23:10:57
我正在驗證用戶提供的腳本,然後將它發送到計算引擎[:(]。我必須確保每個標記都與現有變量匹配,所以這是我提取它們的方式。只需使用循環和子串。 – 2011-06-06 23:12:54