Python程序检查字符串中的URL
本文将教您如何确定字符串是否包含URL。在Python中,字符串是表示Unicode字符的字节集合。您可以使用单引号或双引号,它们括起来的所有内容都被视为字符串。给定一个字符串,我们将首先确定它是否包含URL。如果找到了URL,我们将打印出来。
使用findall()方法
我们将使用Python的正则表达式概念来解决这个问题。正则表达式由Python re包支持。正则表达式是一系列特殊字符序列,通过定义在模式中的特定语法,有助于匹配或查找其他字符串或字符串集合。
findall()方法返回列表中的每个字符串都表示找到的不同匹配项。此方法从左到右扫描字符串,以匹配项找到的顺序返回匹配项。
算法
下面的算法演示了如何使用findall()方法检查字符串中是否有URL −
- re模块导入
-
创建一个查找URL的函数。
-
在函数中创建一个正则表达式,其中存储了可以存在于URL中的每个字符。
-
声明第二个变量,用于存储符合URL模式的每个字符串。
-
一次性打印列表中的所有字符串。
-
声明一个带字符的字符串。
-
将字符串作为参数传递到函数中后,打印函数返回的值。
示例
在此程序中,我们使用了re模块的一个函数,该函数将搜索指定模式的提供字符串。为了使用该函数,我们必须在程序中导入re模块。如果该字符串不包含任何URL,则程序将显示一个空列表。
输出
以下是上述代码的输出 −
示例
在下面的Python代码中,我们创建了一个用于URL的正则表达式,以验证输入字符串中的URL,并使用内置方法findall()检查输入字符串中的URL模式。结果在从左到右扫描字符串后返回 −
输出
以下是两种输出情况 −
情况1
当url模式未正确提供时,上述代码的输出如下所示 −
情况2
以下是正确提供URL时的输出-
使用search()方法
在Python中,正则表达式搜索通常表示为:match = re.search (path, string)。re.search()方法使用正则表达式模式和字符串在字符串中查找正则表达式模式。如果搜索成功,则返回匹配对象或没有。
例子
以下代码使用re模块的search()方法,将所需的结果作为URL返回-
输出
以下是上述代码的输出-