2014-12-05 5 views
0

Я пытаюсь захватить второе слово в строке захвата, которую я схватил, используя положительный взгляд вперед. Я хочу, чтобы второе слово внутри строки находилось перед пробелом, за которым следует кавычек, пробел, за которым следуют открытые круглые скобки, или пробел, за которым следует строка «Jr.»,Regex Capture Second Word Within Capture Group

Вот пример строки:

Энн Р. Lomica "Lommy" (Datore)

Это мой Regex до сих пор:

(.+?(?=\ "|\ \(|,|\ Jr\.)) 

Что захватывает:

Anne R. Lomica

Но в том, что я хочу, чтобы захватить:

R.

В примере строки:

Джон Шон Фуллер младший

Я хочу захватить:

Шон

Как я могу изменить существующий Regex, чтобы захватить второе слово в то, что он уже захватывает?

Большое вам спасибо за помощь!

+0

, кажется, что это ' "| \ 'равно' ["]' и здесь (|, | \ |, |? \ С [('] – Dalorzo

+1

вы хотите два захватывает ли вы имеете в виду это https://regex101.com/r/lS2uM2/1? –

+0

@AvinashRaj Я хочу только захватить матч 2 – chewyg

ответ

0

Похоже, вы хотите что-то вроде этого,

(\S+) \S+(?= "| \(|,|\ Jr\.) 

Получить строку, которую вы хотите от индекса группы 1.

\S+ соответствует одному или более символов без пробелов.

DEMO

 Смежные вопросы

  • Нет связанных вопросов^_^