在一个字符串中查找多个正则表达式

时间:2013-03-11 14:11:42

标签: python regex python-2.7

假设我们有这个:

html = 'http://example.com'
regex = '<(\d{0,2})>'
regex1 = '<span>(.+?)</span>' 
p = re.compile(regex)
p1 = re.compile(regex1)

是否可以在re.findall声明中p同时p1findall

1 个答案:

答案 0 :(得分:1)

首先:您通常希望避免使用正则表达式来解析HTML。你真的想要使用HTML解析器。 BeautifulSoup允许您搜索包含特定文本的元素(甚至使用正则表达式来匹配HTML中的特定方面)

您可以在组中使用|管道组合正则表达式:

p_or_p1 = re.compile('(?:{}|{})'.format(p, p1))