Php 如何在一个具有单词边界的正则表达式中使用两个负lookahead?
我有一个正则表达式,它允许我在一个字符串中查找多个URL。它有两个消极的方面,“你的方法是错误的。一个建议:1)建立一个简单而幼稚的模式来查找文本中的URL(没有复杂的,没有用的),把它放在一个原子组中并添加<代码>(但是,尝试-但是它是一个非常差的模式。请考虑重新考虑这个方法:)对我来说,抛开这两个负面链接,使用parse_url方法检查不可靠的url是否会更好?你的方法是错误的。一个建议:1)建立一个简单而幼稚的模式来查找文本中的URL(没有复杂的,没有用的),把它放在一个原子组中并添加<代码>(但是,尝试-但是它是一个非常差的模式。请考虑重新考虑这个方法:)对我来说,抛开这两种负面外观,使用parse_url方法检查不可靠的url是否会好得多?Php 如何在一个具有单词边界的正则表达式中使用两个负lookahead?,php,regex,pcre,negative-lookahead,Php,Regex,Pcre,Negative Lookahead,我有一个正则表达式,它允许我在一个字符串中查找多个URL。它有两个消极的方面,“你的方法是错误的。一个建议:1)建立一个简单而幼稚的模式来查找文本中的URL(没有复杂的,没有用的),把它放在一个原子组中并添加(但是,尝试-但是它是一个非常差的模式。请考虑重新考虑这个方法:)对我来说,抛开这两个负面链接,使用parse_url方法检查不可靠的url是否会更好?你的方法是错误的。一个建议:1)建立一个简单而幼稚的模式来查找文本中的URL(没有复杂的,没有用的),把它放在一个原子组中并添加(但是,尝试
(?i)\b(?!.*?\.onion)
(?>
(?:
[a-z][\w-]+:
(?:
/{1,3}
|
[a-z0-9%]
)
|
ftp://
|
www\d{0,3}[.]
|
[a-z0-9.\-]+[.][a-z]{2,4}/
)
(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+?(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*?\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))\b(?!<<)