在Python中,re模块提供了一些函数来进行正则表达式的匹配和搜索。其中,re.findall()和re.match()是两个常用的函数。
re.findall(pattern, string)函数用于在给定的字符串中搜索匹配指定模式的所有子字符串,并以列表的形式返回所有匹配的结果。该函数会从字符串的开头开始搜索,一旦找到一个匹配的子字符串,就会继续向后搜索,直到找不到更多的匹配为止。返回的列表中的每个元素都是一个匹配的子字符串。
举个例子,假设我们要从一个字符串中找到所有的数字,可以使用re.findall()函数来实现:
```python
import re
string = "Hello123World456"
pattern = r"\d+" # 匹配一个或多个数字
result = re.findall(pattern, string) print(result) # 输出: ['123', '456']
```
re.match(pattern, string)函数用于从字符串的开头开始匹配指定的模式。如果字符串的开头与模式匹配成功,则返回一个匹配对象;否则返回None。匹配对象可以通过group()方法获取匹配的子字符串。
下面是一个使用re.match()函数的例子:
```python
import re
string = "Hello World"
pattern = r"Hello"
result = re.match(pattern, string)
if result:
print(result.group()) # 输出: Hello
else:
print("No match")
```
需要注意的是,re.match()函数只会从字符串的开头进行匹配,如果需要从整个字符串中搜索匹配的子字符串,可以使用re.search()函数。
总结起来,re.findall()函数用于搜索匹配指定模式的所有子字符串,而re.match()函数用于从字符串开头匹配指定模式。两个函数在使用时需要注意它们的不同之处。
标签:匹配,函数,re,python,正则表达式,字符串,match,string From: https://www.cnblogs.com/sunshine1218/p/18633307