Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Сергей Ющенко Ученик (108), закрыт 1 час назад
Как в Notepad++ прописать регулярное выражение, чтобы оставляло только то, что находится в скобках? Пробовал .*\((.*)\).* но он оставляет те строки, что не имеют скобок и не оставляет то, что находится в других скобках этой строки.
Лучший ответ
Андрей Высший разум (465012) 1 месяц назад
Ну так удали сначала всё, что находится вне скобок. Вот это:
 \)[^(]*\( 
меняешь на:
 \)\( 

Можно ещё заменить:
 ^[^(]*|[^)]*$ 
на пустую строку.

А уже после этого удаляй сами скобки.
Сергей ЮщенкоУченик (108) 1 месяц назад
Первый вариант хорош, но оставляет все, что находится до первой скобки и после последней скобки. Второй вариант оставляет текст, если в строке не одна пара скобок
Андрей Высший разум (465012) Сергей Ющенко, Второй вариант нужен для того, чтобы убрать начало / конец после применения первого варианта.
Сергей ЮщенкоУченик (108) 1 месяц назад
В общем, остановился на таком варианте:
^[^()]*\(|\)[^()]*\(|\)[^()]*$
меняю на
\n

Спасибо, что направили мысли
Остальные ответы
Рустам Абдрашитов Мудрец (10299) 1 месяц назад
Чтобы в Notepad++ с помощью регулярного выражения оставить только то, что находится в круглых скобках, можно использовать следующее выражение:

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


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


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


\1


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

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

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

Теперь ваш текст будет изменен так, что останется только содержимое круглых скобок.
Сергей ЮщенкоУченик (108) 1 месяц назад
Мой Вариант работал точно так же: не удалял строки, если в них не было скобок, и не оставлял содержимое остальных скобок, которые содержались в одной строке
Похожие вопросы