python 如何使用re模块通配符
时间: 2024-05-06 11:20:34 浏览: 6
Python的re模块支持通配符来匹配文本,常用的通配符有:
- `.`:匹配任意字符,除了换行符。
- `*`:匹配0个或多个前面的字符。
- `+`:匹配1个或多个前面的字符。
- `?`:匹配0个或1个前面的字符。
- `{}`:匹配指定的重复次数。例如,`{3}`匹配3个前面的字符,`{2,4}`匹配2到4个前面的字符。
以下是使用re模块和通配符的示例代码:
```python
import re
# 匹配任意字符
pattern_dot = r'he...o'
text_dot = 'hello world'
match_dot = re.search(pattern_dot, text_dot)
print(match_dot.group()) # 输出:hello
# 匹配任意个数的字符
pattern_star = r'ab*c'
text_star1 = 'ac'
text_star2 = 'abc'
text_star3 = 'abbbc'
match_star1 = re.search(pattern_star, text_star1)
match_star2 = re.search(pattern_star, text_star2)
match_star3 = re.search(pattern_star, text_star3)
print(match_star1.group()) # 输出:ac
print(match_star2.group()) # 输出:abc
print(match_star3.group()) # 输出:abbbc
# 匹配指定个数的字符
pattern_brackets = r'a{2,3}b'
text_brackets1 = 'ab'
text_brackets2 = 'aab'
text_brackets3 = 'aaab'
text_brackets4 = 'aaaab'
match_brackets1 = re.search(pattern_brackets, text_brackets1)
match_brackets2 = re.search(pattern_brackets, text_brackets2)
match_brackets3 = re.search(pattern_brackets, text_brackets3)
match_brackets4 = re.search(pattern_brackets, text_brackets4)
print(match_brackets1) # 输出:None
print(match_brackets2.group()) # 输出:aab
print(match_brackets3.group()) # 输出:aaab
print(match_brackets4.group()) # 输出:aaab
```
注意,通配符可以和其他正则表达式元字符一起使用,例如`.*`匹配任意个数的任意字符。