Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex python中匹配url的正则表达式_Regex_Python 3.x - Fatal编程技术网

Regex python中匹配url的正则表达式

Regex python中匹配url的正则表达式,regex,python-3.x,Regex,Python 3.x,我需要使用python来匹配文本文件中的url。 但是,有一种特殊情况: 我喜欢如果您在最后一个匹配组中缺少*或+,那么它只匹配一个字符。所以你想要“([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])*”或([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])+“ 现在我不知道这个正则表达式是否针对您的情况进行了简化,但它并不匹配所有URL。例如,请查看 如果您试图匹配任何url,我建议您重新思考您的问题,并尝试简化为更具体

我需要使用python来匹配文本文件中的url。 但是,有一种特殊情况:


我喜欢如果您在最后一个匹配组中缺少*或+,那么它只匹配一个字符。所以你想要
“([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])*”
([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])+“

现在我不知道这个正则表达式是否针对您的情况进行了简化,但它并不匹配所有URL。例如,请查看

如果您试图匹配任何url,我建议您重新思考您的问题,并尝试简化为更具体的url类型,如您提供的示例

编辑:为什么
(.com)+
?是否真的有多个“.com”像.com.com那样出现的情况


另外,我认为你的打字错误很小,应该是
(\.com)
。但是由于你有
([:///a-zA-Z///\.])+
,它可以简化为
(com)
,但是我认为显式的
(\.com)
使它更容易阅读。

如果看起来你在最后一个匹配组中缺少*或+,那么它只匹配一个字符。所以你想要
“([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])*”
([:///a-zA-Z//\.])+(.com)+([:///a-zA-Z//\.])+“

现在我不知道这个正则表达式是否针对您的情况进行了简化,但它并不匹配所有URL。例如,请查看

如果您试图匹配任何url,我建议您重新思考您的问题,并尝试简化为更具体的url类型,如您提供的示例

编辑:为什么
(.com)+
?是否真的有多个“.com”像.com.com那样出现的情况


另外,我认为你的打字错误很小,应该是
(\.com)
。但是,由于您有
([:///a-zA-Z///\.])+
它可以简化为
(com)
,但是我认为显式
(\.com)
使它更易于阅读。

使用现有包的解决方案:

从urlextract导入urlextract
导入表情符号
def remove_表情符号(文本):
返回emoji.get_emoji_regexp().sub(r'',文本)
提取器=URLExtract()

source=“我喜欢使用现有软件包的解决方案:

从urlextract导入urlextract
导入表情符号
def remove_表情符号(文本):
返回emoji.get_emoji_regexp().sub(r'',文本)
提取器=URLExtract()

source=“我想看看这个。这可能有助于我们了解这一点。也许会有帮助