正则表达式捕获Capture Group中的第二个单词

时间:2014-12-05 15:11:52

标签: regex string regex-lookarounds lookaround

我试图抓住捕获字符串中的第二个单词,我抓住了正向前看。我希望字符串中的第二个单词出现在一个空格后跟一个引号,一个空格后跟一个空括号,或一个空格后跟字符串" Jr。"

以下是一个示例行:

  

Anne R. Lomica" Lommy" (Datore)

到目前为止,这是我的正则表达式:

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

哪个捕获:

  

Anne R. Lomica

但在此我想捕获:

  

R上。

在示例行中:

  

John Sean Fuller Jr。

我想抓拍:

  

肖恩

如何修改现有的Regex以捕获其已捕获的第二个单词?

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:0)

好像你想要这样的东西,

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

从组索引1中获取所需的字符串。

\S+匹配一个或多个非空格字符。

DEMO

答案 1 :(得分:0)

[^\s]+[ ]([^\s]+)[ ].+(?=\ "|\ \(|,|\ Jr\.)

试试这个。看看演示。

https://regex101.com/r/wV5tP1/3