我堅持使用javascript的代碼正則表達式模式。我想驗證這個字符串{{text}。但仍然沒有工作。 對於c#的工作發現。這裏是C代碼#Javascript正則表達式模式「{{text}}」
"{{[^\{\s}]+\}}"
我想用{{end with}}開頭。在兩者之間可以是文字或數字
我堅持使用javascript的代碼正則表達式模式。我想驗證這個字符串{{text}。但仍然沒有工作。 對於c#的工作發現。這裏是C代碼#Javascript正則表達式模式「{{text}}」
"{{[^\{\s}]+\}}"
我想用{{end with}}開頭。在兩者之間可以是文字或數字
正則表達式的問題在於,你將它視爲一個字符串,並且反斜槓在此過程中迷失了方向。如果您將"{{[^\{\s}]+\}}"
鍵入警報中,您將看到它顯示{{[^{s}]+}}
,從而丟失了所有反斜槓。如果你想保留反斜槓,你需要加倍轉義它:"{{[^\\{\\s}]+\}}"
這就是假設你正在將它發送到RegExp,就像RegExp("{{[^\\{\\s}]+\}}")
那樣。這很好,但它與說/{{[^\{\s}]+}}/
這是用於構建正則表達式的JavaScript的文字語法相同。因此,你會怎麼做:
var reg1=RegExp("{{[^\\{\\s}]+\}}");
var reg2=/{{[^\{\s}]+}}/;
reg1.test('{{text}}');//true
reg2.test('{{text}}');//true
你也可以把它寫成一行:/{{[^\{\s}]+}}/.test('{{text}}')
有幾個正則表達式的方法在那裏爲JavaScript,在一根繩子上的一些工作,希望你向它發送一個常規表達式和一些接受正則表達式並期望一個字符串。因此,要按照您將字符串和正則表達式發送給那裏的方法的順序注意。
我試過這個..它的工作!非常感謝你 –
反正..我認爲只是'var arrayResults = myString.match(/{{.*?}}/ g);'是優越的:_https://regex101.com/r/xI2gP9/1_ – 2015-12-03 03:04:43
另外,什麼你想達到什麼目的?而且,爲什麼正則表達式? ..也許有其他真正的解析方法,可以找到方括號內的括號,正則表達式不能做的事情。 – 2015-12-03 03:14:29
爲什麼'{{text}'會匹配一個正則表達式,該正則表達式需要** 2 **關閉大括號? – Ultimater