使正则表达式忽略转义的问号

时间:2015-12-03 21:34:11

标签: php regex

我试图让我的正则表达式工作。我有一个已经转义和未转义的问号的字符串。我试图找到任何指南或解释我如何创建只选择未转义问号的正则表达式。

应该找到的问号示例:Hello, how are you?

不应该:Hello, how are you \?

的问号示例

只需要选择问号,只要它没有被转义,所有文字都无关紧要。

我到目前为止设法制作\\\?,但它只选择转义的问号,我需要帮助才能使其正常工作,如上所述。

非常感谢,谢谢!

编辑:为了将来的通知,这是一个与回溯兼容的引擎,在本例中是PHP。

1 个答案:

答案 0 :(得分:1)

我假设您的输入中只能转义问号。

使用

(?<!\\)\?

demo

请注意,如果是JavaScript或其他不支持lookbehind的语言,则必须使用/(^|[^\\])\?/g之类的内容。