Я пытаюсь заставить мое регулярное выражение работать. У меня есть строка с экранированными вопросительными знаками. Я попытался найти какие-либо руководства или объяснение того, как я могу создать регулярное выражение, которое выбирает только вопросительный знак без экранирования.
Пример вопросительного знака, который ДОЛЖЕН быть найден: Hello, how are you?
Пример вопросительного знака, который НЕ должен: Hello, how are you \?
Ему нужно только выбрать знак вопроса, так как он не ускользнул, весь текст вокруг этого не имеет значения.
Мне до сих пор удалось сделать \\\?
, но он выбирает только экранированный знак вопроса, мне нужна помощь, чтобы он работал, как я объяснил выше.
Большое спасибо, спасибо!
Изменение: для будущего уведомления это было для обратного совместимого движка, в данном случае PHP.
Я предполагаю, что на вашем входе может быть экранирован только вопросительный знак.
использование
(?<!\\)\?
См. Демонстрацию.
Обратите внимание, что если бы это был JavaScript или другие языки, которые не поддерживают lookbehind, вам нужно будет использовать что-то вроде /(^|[^\\])\?/g
(?<!\\)\?
- Какой у тебя вкус регулярных выражений? Если он поддерживает lookbehinds, вы можете попробовать это.