单个正则表达式中不带括号的第一个名称和标题



如何将以下2个正则表达式放在一起以在一个表达式中捕获两组:

(^[a-zA-Z]*)应捕获第一个名称first_here

((.+?))应捕获标题

提取:

Donald President
Mike Vice President

来自:

Donald Trump (President)
Mike Pence (Vice President)

您可以使用

^(?P<name>w+)[^()]+((?P<function>[^()]+))

请参阅regex101.com上的演示。


显然这将适用于

Cake Cookie (Sugar)

同样。如果要将其仅限于名称,请使用数据库。

您可以按如下方式组合以匹配名字和标题。然后使用第一和第二捕获组来形成输出。

^([a-zA-Z]*).*?(([^)]+?))

演示

最新更新