需要一个可以使用特殊字符(连字符,撇号等)验证名称的python正则表达式

时间:2018-12-21 21:04:02

标签: python regex

我正在尝试创建一个可以匹配任何名称的python正则表达式。我正在抓取网页并寻找<h1>标记并在其之间获取名称。名称可以包括 James Dean,James-Dean,Brian O'Quin,Jame Joe-Harden ,等等...

这是我使用的第一个正则表达式,但没有捕获所有名称

<h1>[A-Z]{1}[a-z]+\s[A-Z]{1}[']?[A-Z]?[-]?[A-Z]?[a-z]+

1 个答案:

答案 0 :(得分:-1)

也许是这样:

<h1>(([-'\w]+\s?)+)<h1>

说明:

-匹配自身, \ w 匹配字母和数字,而 plus 用于捕获其中一种或多种情况。另外,在此之后可选的空格字符以支持组合名称。
最后,最后一个 + 加号确保您可以重复刚才描述的结构。
希望有帮助。