1. 测试正则表达式的工具。
- 在线正则表达式测试:
2. 常见的匹配模式
3. 常用的匹配方法
3.1. re.match
re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就会返回None
最常规的匹配
import re
content = "Hello 123 4567 World_This is a Regex Demo"
result = re.match("Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$",content)
print(f"len = {len(content)}")
print(f"result = {result}")
print(f"result.group() = {result.group()}") # 返回匹配结果
print(f"result.span = {result.span()}") # 输出匹配结果的范围
# 输出结果
len = 41
result = <_sre.SRE_Match object; span=(0, 41), match='Hello 123 4567 World_This is a Regex Demo'>
result.group() = Hello 123 4567 World_This is a Regex Demo
result.span = (0, 41)
- 泛匹配
# 泛匹配
result = re.match("^Hello.*Demo$",content)
# 输出结果
len = 41
result = <_sre.SRE_Match object; span=(0, 41), match='Hello 123 4567 World_This is a Regex Demo'>
result.group() = Hello 123 4567 World_This is a Regex Demo
result.span = (0, 41)
- 匹配目标:如果我们想从字符串中获取我们想要的数据的话,我们就可以用一个()把我们要的目标括起来,然后指定它的左端点和右端点。然后用group(n)将其取出来。
# 匹配目标
content = "Hello 1234567 World_This is a Regex Demo"