Обращая регулярное выражение в целом - PullRequest
1 голос
/ 19 сентября 2011

Хорошо, я прочитал эту ветку , и она мне пока не помогла.

У меня есть регулярное выражение в TextPad (не уверен в его движке) примерно так:

[[:digit:]]+ \= [[:digit:]]+ \+ [[:digit:]]+

, который находит строку, такую ​​как:

1783635 = 1780296 + 3339

и я хочу найти все иначе . Я попытался заключить все выражение в [^ expression ], как сказано в руководстве TextPad, но безуспешно. Я также попытался [^][ expression ], ^( expression ) и [^]( expression ), но не повезло.

Из ветки выше я попробовал (?! expression ), опять же, не повезло.

Мысли

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Невозможно сопоставить "противоположность" с регулярным выражением. Регулярные выражения должны соответствовать , чтобы успешно, они не могут не соответствовать и все еще успешно.

В зависимости от вашей конкретной ситуации (и возможностей регулярных выражений TextPad), может быть способ обойти это ограничение.

Более подробно необходимо сказать это точно, хотя. Пожалуйста, предоставьте образец текста из реальной жизни и опишите, что вы хотите с ним сделать.

2 голосов
/ 06 октября 2012

Лучший способ сделать это - не с помощью регулярных выражений JUST, а с использованием дополнительных функций из TextPad (закладки).

В этом случае мне нужно было определить все строки, которые НЕ начиналисьс PHVS.Поэтому я сделал следующее:

  1. Выполните поиск «Совпадение всех» с регулярным выражением «^ PHVS».Это пометило каждую строку, которая начиналась с PHVS

  2. Перейти к Edit -> Invert Bookmarks.Это помечало каждую строку, которая НЕ начиналась с PHVS

  3. Создал макрос, который нажимал F2 (чтобы перейти к следующей закладке) и фиксировал линию так, как мне было нужно

  4. Запустил макрос до конца файла.

...