Я вполне приличен с регулярными выражениями, но есть одна ситуация, которая всегда меня беспокоит, а именно: дать совпадение, когда шаблон не существует в строке поиска.
Вот немного справочной информации:
Я использую программу Actual Tools Window Manager, и она позволяет создавать правила на основе отдельных окон. Я могу либо указать заголовок окна как точную строку, либо использовать регулярное выражение для сопоставления.
Моя цель - заставить это правило сработать в любом окне с заголовком, который не содержит конкретной строки. Регулярное выражение - это всего лишь один шаблон, похожий на функцию php: preg_match.
Я не могу работать с группами захвата и ссылаться на группу захвата (по крайней мере, я не получил это работать).
В качестве примера, скажем, я хочу создать правило, которое запускается во всем, кроме случаев, когда cmd.exe находится в заголовке.
Я открываю командную строку, поэтому, вероятно, ее заголовок будет иметь вид: C:\Windows\System32\cmd.exe
Я хочу, чтобы это окно было исключено из моего правила на основе наличия cmd.exe.
Я пробовал что-то вроде ^cmd.exe
но это просто не работает.
В Actual Tools используется библиотека регулярных выражений, совместимая с Perl, поэтому http://www.pcre.org/ должно быть как-то возможно.
Как я могу сделать регулярное выражение, которое соответствует OK, если определенная строка отсутствует, но FAIL, если эта строка присутствует?