python re模块
时间: 2023-07-04 22:24:01 浏览: 95
Python的`re`模块提供了正则表达式相关的操作函数,包括:
- `re.search(pattern, string, flags=0)`:在给定的字符串中搜索第一个匹配给定正则表达式的位置,并返回匹配对象。如果没有找到匹配项,则返回None。
- `re.match(pattern, string, flags=0)`:从给定的字符串的开头匹配正则表达式,并返回匹配对象。如果没有找到匹配项,则返回None。
- `re.findall(pattern, string, flags=0)`:在给定的字符串中查找所有匹配给定正则表达式的子串,并返回一个列表。如果没有找到匹配项,则返回一个空列表。
- `re.finditer(pattern, string, flags=0)`:在给定的字符串中查找所有匹配给定正则表达式的子串,并返回一个迭代器。迭代器返回的对象是匹配对象。如果没有找到匹配项,则返回一个空迭代器。
- `re.sub(pattern, repl, string, count=0, flags=0)`:在给定的字符串中搜索匹配给定正则表达式的所有子串,并将其替换为指定的字符串。如果没有找到匹配项,则返回原始字符串。其中,`repl`可以是一个字符串或一个函数,用于指定替换的内容。
- `re.split(pattern, string, maxsplit=0, flags=0)`:根据给定的正则表达式对字符串进行分割,并返回一个列表。其中,`maxsplit`指定最大分割次数,`flags`指定正则表达式的匹配模式。
在使用`re`模块时,需要注意正则表达式的写法,以及匹配模式的使用。正则表达式中常用的特殊字符包括`.`、`*`、`+`、`?`、`^`、`$`、`[]`、`()`等,匹配模式包括`re.I`、`re.M`、`re.S`、`re.X`等。
例如,以下代码使用`re.findall()`函数查找字符串中的所有数字:
```
import re
s = 'Hello 123 World 456'
pattern = r'\d+'
result = re.findall(pattern, s)
print(result) # ['123', '456']
```
在这个例子中,`\d+`表示匹配一个或多个数字字符,`re.findall()`函数按照这个正则表达式查找字符串中的所有匹配项,返回一个列表。
阅读全文