正则表达式查找带有标题的名称

时间:2019-04-18 19:40:54

标签: regex

我正在创建网络蜘蛛以从特定网站检索信息。网站上的名称格式为“ SMITH,JOHN ANTHONY”或“ SMITH JR,JOHN ANTHONY”。

我正在使用的正则表达式为[A-Z]+, [A-Z]+ [A-Z]+。如果名称采用这种格式,我也希望正则表达式也能使用“ JR”。强制性的句子表示我对Regex陌生,这是我对Stack Overflow的第一篇文章。

[A-Z]+, [A-Z]+ [A-Z]+

1 个答案:

答案 0 :(得分:0)

您可以使用可选的组(?: [A-Z]+)?来匹配空格和A + Z 1倍以上:

[A-Z]+(?: [A-Z]+)?, [A-Z]+ [A-Z]+

Demo on regex101

您可以在单词边界\b之前和之后添加前缀,以确保首个和最后一个匹配项都不是较大单词的一部分。

\b[A-Z]+(?: [A-Z]+)?, [A-Z]+ [A-Z]+\b