текст - найти все строки без указания c выражения - PullRequest
0 голосов
/ 29 января 2020

как найти все строки в текстовом файле, которые (!) Не соответствуют этому шаблону:

xxx-xx-xxx.xxx

(независимо от длины каждой части; 'x' может быть любым символом)

я могу найти строки с этим шаблоном, выполнив поиск по регулярному выражению ^(.*-.*-.*\.+.*)$ (используя EmEditor),

, но я не смог найти способ найти отрицательный случай.

спасибо!

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Я разработчик EmEditor. Если вы используете EmEditor, вы можете ввести (.*-.*-.*\.+.*) в панель инструментов Фильтр , включить Использовать регулярные выражения , Совпадение по всей строке и Отрицательный кнопок. Использование панели инструментов фильтра в EmEditor

0 голосов
/ 29 января 2020

Документация от emeditor гласит, что regular expression syntax is based on Perl regular expression syntax.

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

Вместо использования .* вы можете использовать отрицательный класс символов [^-\r\n]*, соответствующий любому символу, кроме перечисленных.

^(?!(?:[^-\r\n]*-){2}[^.\r\n]*\.).+$

Пояснение

  • ^ Начало строки
  • (?! Отрицательный взгляд вперед, утверждайте, что справа не
    • (?:[^-\r\n]*-){2} Повторите 2 раза, сопоставляя любой символ за исключением - или новой строки, затем математика -
    • [^.\r\n]*\. Соответствует любому символу, кроме ., затем соответствует .
  • ) Закрыть взгляд
  • .+ Соответствует любому символу кроме символа новой строки 1+ раз
  • $ Конец строки

Regex demo

...