Python实现检查字符串中是否包含url地址的代码
功能需求:
我们需要编写一个程序,接受一个字符串作为输入,并检查该字符串中是否包含任何URL。如果字符串中包含URL,则输出相应的URL。如果字符串中不包含URL,则输出相应的提示信息。
完整代码:
import re def find_url(string): # 定义正则表达式匹配 URL url_pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+') # 在字符串中查找 URL urls = re.findall(url_pattern, string) # 如果找到 URL,则打印相应的 URL if urls: print("在该字符串中找到了以下url:") for url in urls: print(url) else: print("在字符串中未找到url。") # 测试代码 if __name__ =='__main__': string1 = "This is a string without any URL." string2 = "This is a string with a URL:https://shenhuangji.com。" find_url(string1) find_url(string2)
代码分析:
这个示例代码与之前的代码类似,只是在输出中添加了中文提示。我们使用了Python的re库来实现正则表达式匹配,定义了一个正则表达式模式,用于匹配URL。然后,我们使用re.findall函数在字符串中查找所有匹配的URL,并将它们存储在一个列表中。最后,我们检查列表是否为空,如果不为空,则打印所有找到的URL。
在测试代码中,我们分别测试了一个不包含URL的字符串和一个包含URL的字符串。如果字符串中包含URL,则输出所有找到的URL。如果字符串中不包含URL,则输出"在字符串中未找到URL。"。