【发布时间】:2014-03-03 00:36:01
【问题描述】:
我有这个正则表达式(?P<url>http.{1,}?[\s)\Z]) 来查找以\s 字符、右括号或字符串结尾结尾的url,但它只匹配前两种情况。
如何让它匹配第三个(字符串结尾)?
【问题讨论】:
标签: python regex python-2.7
我有这个正则表达式(?P<url>http.{1,}?[\s)\Z]) 来查找以\s 字符、右括号或字符串结尾结尾的url,但它只匹配前两种情况。
如何让它匹配第三个(字符串结尾)?
【问题讨论】:
标签: python regex python-2.7
\Z 在字符集中不起作用 - 它只匹配 Z(大多数功能在字符类中被禁用,包括 .、+ 等。只有其他字符类起作用:@987654325 @、\d 等)。
您想使用替代:(?:[\s)]|\Z)。
另外.{1,}?和.+?一样,所以整个模式可以写成
(?P<url>http.+?(?:[\s)]|\Z))
【讨论】: