我有一個正則表達式正則表達式的鍵值對
(\w+)\s*:((?:\w+[-+*%])*?\w+)$
是比賽鍵值對這樣的 -
鍵:值
KEY2:數值2
但正則表達式matc^h失敗如果該鍵和值都像這些引號內 -
「關鍵」:價值
「KEY2」: 「值2」
可以做什麼修改使正則表達式匹配鍵和引號內的值也?
我有一個正則表達式正則表達式的鍵值對
(\w+)\s*:((?:\w+[-+*%])*?\w+)$
是比賽鍵值對這樣的 -
鍵:值
KEY2:數值2
但正則表達式matc^h失敗如果該鍵和值都像這些引號內 -
「關鍵」:價值
「KEY2」: 「值2」
可以做什麼修改使正則表達式匹配鍵和引號內的值也?
你可以在這樣的key-value
雙兩側使用可選報價:
/("?)\b(\w+)\1\s*:\s*("?)((?:\w+[-+*%])*?\w+)\b\3/g
採取注組("?)
的是捕捉一個空字符串或雙引號。另一方面,我們使用該組的後引用\1
來關閉報價。
'鍵和值在pamentalhesis' =>你的意思是引用正確嗎? – anubhava
是的。我的意思是引用。 –
你說「括號內」(不是「pativehesis」),但你給的例子顯示在雙引號內。無論如何,請不要用正則表達式區分對象字面值語法。你爲什麼要這麼做?這些字符串從哪裏來,你想用它們做什麼? – 2016-10-22 07:21:25