我想用0.digit替換.digit的所有出現。看後面全部替換
我是新來的正則表達式,但據我瞭解,我可以用後面看這樣做。但JS不支持,我想知道是否有人知道一個解決方案。 爲了顯示我寫下面的代碼的問題。
str = "0.11blabla.22bla0.33bla.33"
allow = "\\.\\d*"
str.match(new RegExp(allow,"g"))
[".11", ".22", ".33", ".33"]
deny = "0\\.\\d*"
str.match(new RegExp(deny,"g"))
["0.11", "0.33"]
diffreg= new RegExp("(?!"+deny+")"+allow,"g") // translates to: /(?!0\.\d*)\.\d*/g
str.match(diffreg)
[".11", ".22", ".33", ".33"]
顯然允許匹配所有十進制值,而拒絕匹配的所有值與前面的0的結果當然應兩者之間的差集:[「0.33" ,」 0.33" ]。
您想從'intersectionreg'中獲得期望的輸出嗎? –
爲什麼不使用分組匹配'str.match(/([^ 0])(\。\ d)/ g);'? –
你確定你的意思是「十字路口」嗎?我懷疑你想要設置差異:所有那些在設置「允許」,而不是在設置「拒絕」(交叉口是那些在兩個集合)。 – Richard