[英]Python regular expression again - match url part II
好的。 我从这里得到正则表达式(只有 WWW 链接,第二个版本)。 一切都很好,除了一件事,它也解析 BBCode。
正则表达式
(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
什么失败了
[img]http://example.foo/something.png[/img]
当我应用正则表达式时,我得到 http://example.foo/something.png[/img 并且失败了。 :P 那里有正则表达式大师吗?
这有点粗糙,但试试这个:
$preg = "%(?:https?://|www\d{0,3}.)(?:[\/A-Za-z0-9-_.]+(?!(?:<|\[/([A-Za-z0-9])+?\1)))%";
我已经对其进行了测试,如果我正确理解了您的问题,它应该可以按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.