Top.Mail.Ru
Ответы

Помогите правильно прописать регулярку

Как в Notepad++ прописать регулярное выражение, чтобы оставляло только то, что находится в скобках? Пробовал .*\((.*)\).* но он оставляет те строки, что не имеют скобок и не оставляет то, что находится в других скобках этой строки.

По дате
По рейтингу
Аватар пользователя
Новичок
8мес

Ну так удали сначала всё, что находится вне скобок. Вот это:

1
 \)[^(]*\( 

меняешь на:

1
 \)\( 


Можно ещё заменить:

1
 ^[^(]*|[^)]*$ 

на пустую строку.

А уже после этого удаляй сами скобки.

Аватар пользователя
Мудрец
8мес

Чтобы в Notepad++ с помощью регулярного выражения оставить только то, что находится в круглых скобках, можно использовать следующее выражение:

1. Откройте Notepad++ и вставьте ваш текст.
2. Нажмите `Ctrl + H`, чтобы открыть окно замены.
3. Установите флажок "Регулярные выражения" в нижней части окна.
4. Используйте следующее регулярное выражение в поле "Найти":


^.*?\(([^()]*)\).*$


5. В поле "Заменить на" введите:


\1


6. Нажмите "Заменить все".

Это выражение работает следующим образом:

- `^.*?\(` — ищет начало строки и все символы до первой открывающейся скобки.
- `([^()]*)` — захватывает все символы внутри первых найденных круглых скобок.
- `\).*?$` — ищет все символы от закрывающейся скобки до конца строки.
- В "Заменить на" используется `\1`, чтобы оставить только содержимое первой захваченной группы, то есть все, что находится в круглых скобках.

Теперь ваш текст будет изменен так, что останется только содержимое круглых скобок.