Поддерживает ли механизм регулярных выражений (scintilla) notepad ++ экранирование подстроки (что-то вроде "\Q.*[Escape-строка]()+\E")?
Subj.
Я имею в виду, что я не хочу вставлять десятки '\' в шаблон поиска. Очевидным способом является использование пары специальных символов в стиле Perl:
- \ Q - заключить (отключить) метасимволы шаблона до \ E
- \ E - конец модификации
Пример: \Qtext здесь исключается ".*[]+" Символы не имеют специального значения \ E.
Я обнаружил, что \Q...\E не работает в notepad++, поэтому мне интересно, есть ли другая возможность избежать подстроки?
1 ответ
В настоящее время Scintilla использует PCRE, что означает, что вы можете использовать \Q
а также \E
, Старый ответ ниже, потому что мне интересно, что исторически старые "регулярные выражения" даже не были регулярными;)
Нет. Scintilla поддерживает только минимальный синтаксис регулярных выражений. Документация даже выделяет больше неподдерживаемых частей регулярных выражений1.
Я бы сказал, что вы должны получить достойный редактор или заменить его другими инструментами:-)
1 Это даже включает чередование (|
) и если я не ошибаюсь, это ограничивает возможности этих регулярных выражений (даже если они поддерживают обратные ссылки в сопоставлении) расширенным подмножеством регулярных языков. Например, я не думаю, что язык {ab, bc} может быть представлен, хотя он явно регулярный.