我有以下字符串:正則表達式停止不工作
'"var1":"val1","var2":"val2","var3":"val3"'
我想通過正則表達式來提取VAL2
/var2":"(.*)"/g
得到VAR2之後一切 「:」
/var2":"(?=[^"])"/g
沒有得到任何匹配
我有以下字符串:正則表達式停止不工作
'"var1":"val1","var2":"val2","var3":"val3"'
我想通過正則表達式來提取VAL2
/var2":"(.*)"/g
得到VAR2之後一切 「:」
/var2":"(?=[^"])"/g
沒有得到任何匹配
你的se COND正則表達式是不正確的,應該是
/var2":"([^"]*)"/g
說明:
(?=[^"])"
表示:「首先要確保下一個字符是什麼,但一個"
。然後匹配"
。這顯然是一個)不可能和b)你想不是:)
與此相反的是,([^"]*)
表示:「匹配任意數量(包括零)不在"
的人物,那麼捕獲子匹配組1 「。
我覺得你快到了。您需要用一個簡單的組來替換lookahead。此外,需要的字符類後添加*
:
var2":"([^"]*)"
這將匹配整個"var2":"..."
和第一組將包含val1
。
我添加了一些可選空間結腸周圍(demo):
var2" *: *"([^"]*)"
雖然有一個警告:在var2
的值不能包含引號。
javascript javascript?請嘗試:/var2":"(.*?)"/g或/ var2「:」(?:[^「] +?)」/ g
您使用哪種語言/編輯器?對正則表達式的影響。 –