正则表达式从字符串中获取姓氏

时间:2014-06-04 16:10:40

标签: regex

所以我在字符串中有名字,我需要提取姓氏。名称有以下格式:

Mr. Firstname MI. Lastname (Designator)

Mr. Firstname (Nick) MI. Lastname (Designator)

当前正则表达式我检查"("字符的存在,并获取它之前的单词字符(LastName)。

(/\\w+ ["("]/)

但是,对于第二种格式的名称,它返回名字。我需要正则表达式从字符串的末尾向后工作,找到第一个"(",并在它之前给我这个词。

Klendathu

1 个答案:

答案 0 :(得分:3)

将我的评论铭记在与#34;常规"匹配的名称(非常规)表达式。


但是,您希望使用$将匹配锚定到字符串的末尾。我还将括号逻辑推向了前瞻,所以它并没有被包含在最后的匹配中。

\w+(?=\s*\([^)]+\)$)

Demo