Проблема с регулярным выражением при использовании функции «смотреть за - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь создать простое регулярное выражение, чтобы удалить некоторые части плохого (нежелательного) кода и нужного использования.

Это работало, пока я не добавил к нему \s+, чтобы исключить пробелы из отметки.

Исключая части выражения, я наконец-то добрался до (?<=\s+)foo, который все еще предупрежден как недопустимое выражение.

Это может выглядеть немного странно или неясно, поэтому его расширение: (?<=foo\s+)bar предупреждено как недопустимое выражение, где (?<=foo)\s+bar работает, но оно отмечает пробелы перед строкой.

Я использую его в блокноте ++.

1 Ответ

1 голос
/ 24 января 2020

Из комментария от @ Toto Notepad ++ не поддерживает переменная длина вид сзади . Он использует boost regex.

Notepad ++ поддерживает \K для сброса начальной точки сообщенного совпадения.

\bfoo\s+\Kbar\b

Regex demo

Другой способ - захватить полосу в группе захвата.

\bfoo\s+(bar)\b

Regex demo


Обратите внимание , что \s также соответствует символу новой строки, и, возможно, вы также можете использовать \h+ для соответствия 1+ горизонтальных пробельных символов.

...