Регулярное выражение ничего, кроме

У меня есть текстовый файл с 65K строк. и не все правильно выровнены.

Поэтому мне нужно заменить строки, не заканчивающиеся на ;Yes или же ;No с пробелом

Пытался

^{^;Yes|^;No}$

2 ответа

Решение

Выбрать Perl при включении регулярных выражений. Поместите это в Find What:

(?m)^.*$(?<!;Yes|;No)

Поместите пробел в Replace with поле ввода.

Сломать:

  • (?m) Включить многострочный флаг
  • ^.*$ Совпадение всей линии
  • (?<! Начало негативного взгляда за спиной
    • ;Yes Последние 4 символа не должны быть; да
    • | Или же
    • ;No; Нет
  • ) Конец негативного взгляда позади

Живая демо

Попробуйте выполнить поиск и замену в режиме регулярных выражений:

Найти:

^(?!.*(Yes|No);$).*$

Заменить:

(space)

демонстрация

Этот ответ предполагает, что UltraEdit поддерживает обходные пути. Если нет, то это не сработает, и нам нужен альтернативный подход.

Другие вопросы по тегам