Символы совпадения регулярных выражений не между разделителями в Notepad++

Код регулярного выражения [0-9](?=[^\{]*\}) будет соответствовать только каждой цифре между фигурными скобками:

a1b2c3 [d4e5f6] {g7h8i9}

Я ищу код, который будет соответствовать только цифрам за пределами фигурных скобок.

a1b2c3 [d4e5f 6] {g7h8i9}

Аналогичный вопрос был задан здесь: Regex, Соответствие заглавным символам не в квадратных скобках. Но ответы дают ошибку «Недопустимое регулярное выражение» в Notepad++.


person Kapitano    schedule 28.03.2016    source источник
comment
Если вам нужно удалить числа, вы можете сопоставить и захватить фигурные скобки и просто сопоставить цифры. Например, (\{[^}]*\})|\d+ и замените на $1.   -  person Wiktor Stribiżew    schedule 28.03.2016


Ответы (2)


Вы можете попробовать это отрицательное регулярное выражение:

[0-9]+(?![^{}]*})

(?![^{}]*}) является отрицательным опережением, чтобы утверждать, что совпадающие числа не находятся внутри {...}.

Демо RegEx

person anubhava    schedule 28.03.2016
comment
[0-9]+ находит блок цифр. Используйте [0-9] для отдельных цифр. Открывающие и закрывающие фигурные скобки должны быть экранированы, чтобы их можно было рассматривать как буквальные символы, давая (?![^\{}]*\}). Я не уверен, что делает первая закрывающая скобка, но код работает и без нее, давая [0-9](?![^\{]*\}) - person Kapitano; 28.03.2016
comment
Внутри [...] все специальные метасимволы экранировать не нужно. - person anubhava; 28.03.2016
comment
Немного более простое решение для варианта N++: [0-9](?![0-9]*\}). Сопоставляется любой цифровой символ not, за которым следует ноль или более других цифр, за которыми не следует буквальная закрывающая фигурная скобка. Любая последовательность цифр, за которой следует закрывающая фигурная скобка, исключается. Было бы более надежно с положительным взглядом назад для любой последовательности, начинающейся с открывающей скобки. - person Kapitano; 28.03.2016

Попробуйте это, работая как шарм..

Найдите что: \d|(\[.*\})
Замените на: $1

Ниже приведено изображение того, что я захватил с помощью регулярного выражения
И это пример и его результаты или выходные данные, С уважением.
введите здесь описание изображения

person Haji Rahmatullah    schedule 10.03.2021