RegEx, чтобы соответствовать всему, включая последние скобки
У меня есть строка текста, как это:
Боб Смит (Утвердить) Запрос рассмотрен 27.04.2016 (Боб Смит) Веселитесь на каникулах!
И я хочу использовать регулярное выражение для сопоставления всего, вплоть до последних скобок, в том числе:
Боб Смит (Утвердить) Запрос рассмотрен 27.04.2016 (Боб Смит)
В конце концов я собираюсь использовать это регулярное выражение, чтобы заменить текст до и включая последние круглые скобки ничем, чтобы возвращался только комментарий в конце. (Было бы легче сопоставить часть после последних скобок [см. Ниже], но я использую другой подход, основанный на причуде в программе, которую я использую.)
Я нашел этот вопрос на SO, который спрашивает о том, как найти все после последней косой черты: Регулярное выражение для получения всего после последней косой черты. Ответ:
([^/]+$)
Тем не менее, мне нужно изменить это регулярное выражение, чтобы найти все ДО И ВКЛЮЧАЯ последние ПАРЕНТЫ. Я пытался изменить это:
(^[^)]+)
но это находит все до, но не включая первые скобки.
Как я могу изменить это, чтобы соответствовать всему, включая последние скобки?
Смотрите этот RegExr в качестве примера: http://regexr.com/3dahe
1 ответ
Я хочу использовать регулярное выражение, чтобы соответствовать все до и включая последние скобки
Вам просто нужно жадное сопоставление точек:
^.*\)\s*
Посмотреть демо-версию регулярного выражения
Используйте модификатор DOTALL, если на входе есть символы новой строки.
Детали шаблона:
^
- начало строки.*
- любые символы 0+, кроме новой строки до последнего\)
- закрывающие скобки\s*
- 0+ пробелов.