我試圖匹配這些字符串:正則表達式雙引號內的文字
" ... "
文本雙引號內
' ... '
文本單引號內
" ' "
可以有單引號內
" \" "
可以有雙引號逃脫
但是沒有牛逼這些:
' " '
不是單引號雙引號
" " "
雙引號
'''
單引號內的單引號 - 單引號只能包含內部
我已經來到文與以下正則表達式:
['"](?(["])[^\"-"][\w])['"]
但我不工作。
我試圖匹配這些字符串:正則表達式雙引號內的文字
" ... "
文本雙引號內
' ... '
文本單引號內
" ' "
可以有單引號內
" \" "
可以有雙引號逃脫
但是沒有牛逼這些:
' " '
不是單引號雙引號
" " "
雙引號
'''
單引號內的單引號 - 單引號只能包含內部
我已經來到文與以下正則表達式:
['"](?(["])[^\"-"][\w])['"]
但我不工作。
平時要匹配逃逸報價在C風格的語言(和單引號爲JS),你可以使用:
"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'
你可以使用這樣的事情:
"(?:[^"\\]|\\.)*?"|'(?:[^\\"']|\\.)*?'
我你已經遵循了你所提出的,但我想知道它(爲什麼在單引號內沒有雙引號?我沒有在單引號內使用單引號,儘管你對此沒有提及)。
無論哪種方式,這裏是an example
它不適用於第二種情況,即單引號內的文本 –
我改變了轉義,因爲我一直在粗心大意,但是甚至在它用單引號工作正常之前,看到這個例子 –
它似乎工作,但我不明白爲什麼如果允許的令牌是\「,那麼正則表達式是:」\\所以相反? –
提供樣品輸入數據和您的預計相符 – anubhava
什麼裏面單引號中的字符串撇號? –
爲什麼在單引號中沒有雙引號?這是單引號的主要用法之一,因此您可以在不轉義的情況下使用其他類型的引號。 – Qtax