-2
我在工作的C#代碼中發現了這個正則表達式。有人能向我解釋,請:有人可以向我解釋這個正則表達式
@"(?s)\{\{\s*" + templateTitle + @"(.*?)}}\r?\n?"
我測試,它返回類似
{{ templateTitleValue anything}}
文字我不明白的是兩個「}}」不是由\像逃脫他們倆 '}}'。什麼是「(?s)」。
感謝
我在工作的C#代碼中發現了這個正則表達式。有人能向我解釋,請:有人可以向我解釋這個正則表達式
@"(?s)\{\{\s*" + templateTitle + @"(.*?)}}\r?\n?"
我測試,它返回類似
{{ templateTitleValue anything}}
文字我不明白的是兩個「}}」不是由\像逃脫他們倆 '}}'。什麼是「(?s)」。
感謝
其實,你並不需要躲避開括號要麼。從上下文清楚的是,它們不是量詞(如在X{1,3}
中將匹配X
,XX
或XXX
)。但是,無論如何逃避它們(也是爲了逃避關閉的)是一種很好的習慣,以防萬一正則表達式變成某種含糊不清的東西。
(?s)
表示「允許點(.
)匹配全部個字符,包括換行符」。這也被稱爲Singleline
or DOTALL
option。
作爲一個工具:http://regexr.com?36ohq – gunr2171
如果這個表單是你需要的東西,你可以隨着它添加這個問題。 – sln