我有这个正则表达式(?P<url>http.{1,}?[\s)\Z])
来查找以\s
字符,右括号或字符串结尾结尾的网址,但它只匹配前两种情况。
如何让它匹配第三个(字符串结尾)?
答案 0 :(得分:5)
\Z
在字符集中不起作用 - 它只与Z
匹配(大多数功能在字符类中被禁用,包括.
,+
等。只有其他角色类可以使用:\w
,\d
等
您想使用替换:(?:[\s)]|\Z)
。
此外,.{1,}?
与.+?
相同,因此整个模式可以写为
(?P<url>http.+?(?:[\s)]|\Z))