0

我正在尝试使用正面的前瞻性来捕获捕获字符串中的第二个单词。我希望字符串中的第二个单词出现在空格后跟引号、空格后跟左括号或空格后跟字符串“Jr”。

这是一个示例行:

Anne R. Lomica "Lommy" (Datore)

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

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

其中捕获:

安妮·R·洛米卡

但在其中我想捕捉:

R。

在示例行中:

小约翰·肖恩·富勒

我想捕捉:

肖恩

如何修改现有的正则表达式以在它已经捕获的内容中捕获第二个单词?

非常感谢你的帮助!

4

2 回答 2

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

试试这个。看演示。

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

于 2014-12-05T15:52:55.510 回答
0

好像你想要这样的东西,

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

从组索引 1 中获取您想要的字符串。

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

演示

于 2014-12-05T15:36:56.687 回答