2016-03-29 4 views
-2

Попытка получить имя этой строки с вложенным между ")" и "(". Пробовала следующее, но я все еще получаю имя плюс ")". Пример: «) Джонатан». Мне просто нужно только имя.regex Как получить текст между ")" & "("

\)\b(\w+)\b 

(AL, MO, TX, IA, MN, MI, KS,) Джонатан (WI, VA, Нью-Йорк, Пенсильвания, Делавэр, штат Коннектикут, PR, VI) Джоселин AL, MO, TX, IA, MN, MI, KS,) Брайан (

+0

Ваш вопрос является слишком широким, поскольку вы не сказали, какой язык или инструмент вы используете –

ответ

0

Попробуйте использовать lookaround утверждения, как это

Regex:.(?<=\))[A-Za-z]+(?=\()

Объяснение:

  • (?<=\)) ищет ) позади имени.

  • (?=\() ищет ( после имени.

  • [A-Za-z]+ соответствует названию.

Regex101 Demo

0

Вам не нужно использовать слово границы якоря \b потому Скобки к письму всегда будет находиться на границе слова. Так как вам нужно слово в одиночку, вы могли бы использовать предпросмотр и выражения 'назад:

(?<=[)])\w+(?=[(]) 

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

0

Я использую это регулярное выражение для поиска групп

/(?=\))(.*?)(?=\()/g 

По какой-то причине) полукокс не исключается в http://regexr.com но опережения и просмотра назад правильные инструменты использовать