2015-12-03 39 views
1

我試圖讓我的正則表達式工作。我有一個字符串,它已經逃過並且沒有轉義的問號。我試圖找到任何指南或解釋我如何創建只選擇非轉義問號的正則表達式。問號使正則表達式忽略轉義問號

例子,應該是發現:Hello, how are you?

問號的例子不應該:Hello, how are you \?

,只需要選擇問號,只要它沒有逃脫,周圍的所有文字沒關係。

我到目前爲止設法使\\\?,但它只選擇逃脫的問號,我需要幫助,使其工作,因爲我已經解釋了上述。

非常感謝,謝謝!

編輯:爲了將來的通知,這是一個回顧兼容的引擎,在這種情況下PHP。

+3

使用'(?<!\\)\?' - 你的regex味道是什麼?如果它支持向後看,你可以試試這個。 –

回答

1

我想只有一個問號可以在您的輸入中轉義。

使用

(?<!\\)\? 

demo

請注意,如果它是JavaScript或其他不支持向後看的語言,則必須使用類似/(^|[^\\])\?/g之類的內容。

+0

是的,謝謝,因爲它是一個lookbehind兼容引擎(PHP)。這似乎工作。那謝謝啦 :) – Blt950