如何重新编译(多重Regexpression)

时间:2016-03-02 06:16:34

标签: python web screen-scraping

我使用python2.7.11来完成这项工作,例如,我有两个表达式,

pattern_movie_name=re.compile(r'<span class="title">(.*?)</span>')
pattern_movie_Englishname=re.compile(r'<span class="title">&nbsp;/&nbsp;(.*?)</span>')

如果我想将它们添加到一个表达式中,我该怎么做?

pattern_movie_all=re.compile(r'<span class="title">(.*?)</span>'+r'<span class="title">&nbsp;/&nbsp;(.*?)</span>')

它不起作用!

1 个答案:

答案 0 :(得分:0)

使用交替运算符。请注意,模式的顺序非常重要。

re.compile(r'<span class="title">&nbsp;/&nbsp;(.*?)</span>|<span class="title">(.*?)</span>')

如果span标记包含换行符,则使用DOTALL修饰符。

re.compile(r'(?s)<span class="title">&nbsp;/&nbsp;(.*?)</span>|<span class="title">(.*?)</span>')