Python 中的 re 模块是用于正则表达式操作的模块,提供了一些函数用于匹配、搜索、替换等操作。
re.finditer(pattern, string, flags=0) 函数用于在字符串中找到正则表达式匹配的所有子串,并将它们作为迭代器返回。
参数说明:
返回值为一个迭代器对象,对象中每个元素是一个 match 对象,表示找到的一个匹配结果。
re.MULTILINE 是一个正则表达式的匹配标志,用于匹配多行文本,并将它们看作单个字符串处理。如果指定了这个标志,^ 和 $ 等匹配行首和行尾的特殊字符不仅匹配字符串的开始和结尾位置,还匹配每行的开始和结尾位置。
re.finditer 函数与 re.MULTILINE 标志结合使用,可以在多行文本中匹配指定的正则表达式。
示例1:在多行文本中匹配行首为数字开头的行
import re
text = "1. First line\n2. Second line\n3. Third line\nA. Fourth line"
pattern = r'^\d+\.' # 匹配数字.开头的行
matches = re.finditer(pattern, text, re.MULTILINE)
for match in matches:
print(match.group())
输出:
1.
2.
3.
示例2:匹配行内的数字
import re
text = "1. First line\n2. Second line\n3. Third line\nA. Fourth line"
pattern = r'\d+' # 匹配数字
matches = re.finditer(pattern, text, re.MULTILINE)
for match in matches:
print(match.group())
输出:
1
2
3
本文链接:http://task.lmcjl.com/news/15405.html