Regex python中匹配url的正则表达式
我需要使用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,我建议您重新思考您的问题,并尝试简化为更具体
我喜欢如果您在最后一个匹配组中缺少*或+,那么它只匹配一个字符。所以你想要“([:///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=“我想看看这个。这可能有助于我们了解这一点。也许会有帮助