2014-10-28 139 views
1

我試圖創建一個正則表達式匹配(並最終捕獲,替換和轉義)",但不是".*",似乎無法弄清楚。正則表達式匹配雙引號,但不是雙雙引號

如何匹配單數引號,而不是它們的集合?

+0

所以你真的需要在你的正則表達式後添加一個{1},我認爲這應該能夠捕捉到一個雙引號。 – ryekayo 2014-10-28 22:02:57

+2

「_如何匹配這對引號,而不是單數?」Doesn這與你的頭銜相矛盾嗎? – Unihedron 2014-10-28 23:38:21

回答

1

如果你正在尋找只有一個報價的線路,這將工作。

^[^"]*"[^"]*$ 

翻譯:這是不是雙引號後面一個雙引號後跟任意數目的字符不在雙引號

任意數目的字符
2

這將匹配對雙引號,跳過他們,attem找到不被跳過的單引號。

".*?"(*SKIP)(*F)|" 

這是regex demo

+0

匹配單引號的問題在於它嚴重依賴於上下文(或其他規則,例如:引號之前或之後的空格)。在你的回答中,你認爲一個無與倫比的引號總是在一對引號之後,但它可能不是一個例子:「它長2」,因此如果沒有來自OP的更多細節,我們只能猜測。 – strah 2014-10-29 07:47:18