我正在创建网络蜘蛛以从特定网站检索信息。网站上的名称格式为“ SMITH,JOHN ANTHONY”或“ SMITH JR,JOHN ANTHONY”。
我正在使用的正则表达式为[A-Z]+, [A-Z]+ [A-Z]+
。如果名称采用这种格式,我也希望正则表达式也能使用“ JR”。强制性的句子表示我对Regex陌生,这是我对Stack Overflow的第一篇文章。
[A-Z]+, [A-Z]+ [A-Z]+
答案 0 :(得分:0)
您可以使用可选的组(?: [A-Z]+)?
来匹配空格和A + Z 1倍以上:
[A-Z]+(?: [A-Z]+)?, [A-Z]+ [A-Z]+
您可以在单词边界\b
之前和之后添加前缀,以确保首个和最后一个匹配项都不是较大单词的一部分。
\b[A-Z]+(?: [A-Z]+)?, [A-Z]+ [A-Z]+\b