我希望匹配字符串中的网址,例如
u1 = "Check this out http://www.cnn.com/stuff lol"
u2 = "see http://www.cnn.com/stuff2"
u3 = "http://www.espn.com/stuff3 is interesting"
类似下面的作品,但它很麻烦,因为我必须重复整个模式
re.findall("[^ ]*.cnn.[^ ]*|[^ ]*.espn.[^ ]*", u1)
特别是,在我的真实代码中,我希望匹配更多的网站。理想情况下,我可以做类似于
的事情re.findall("[^ ]*.cnn|espn.[^ ]*", u1)
但当然它现在不起作用,因为我没有正确指定网站名称。怎么能做得更好?感谢。
答案 0 :(得分:6)
非分组匹配。
re.findall("[^ ]*.(?:cnn|espn).[^ ]*", u1)