re 模块
re
模块是 Python 自带的用于正则表达式匹配的库,可以用来实现字符串的查找和替换等操作。它提供了字符序列的模式匹配功能,包括字符序列的搜索和替换等常用操作。
re.finditer.string函数
re.finditer.string(string, pattern, flags=0)
函数在字符串中搜索模式,返回一个迭代器,迭代器中的每个元素都是一个包含匹配信息的 match 对象 。
参数解释:
string
:需要匹配的字符串。pattern
:正则表达式。flags
:可选参数,匹配时使用的特殊标记。
返回值:
返回一个迭代器对象,迭代器中的每个元素都是一个 match 对象。
示例
首先导入 re 模块:
import re
查找匹配的单词并输出其位置
假如现在有一个字符串 s = 'one two three four five'
,现在我们要查找其中的所有单词及其在字符串中的位置。
import re
s = 'one two three four five'
pattern = r'\b\w+\b'
for match in re.finditer(pattern, s):
print('"{}" was found between the indices {}:{}'.format(match.group(),
match.start(),
match.end()))
结果如下:
"one" was found between the indices 0:3
"two" was found between the indices 4:7
"three" was found between the indices 8:13
"four" was found between the indices 14:18
"five" was found between the indices 19:23
我们使用了正则表达式 \b\w+\b
来查找所有的单词。\b
表示单词的边界,\w+
表示一个或多个连续的单词字符。
查找特定字符串及其出现次数
现在我们有一个字符串 s = 'hello123Goodbye123World'
,想要查找其中字符串 "123" 以及其出现次数。
import re
s = 'hello123Goodbye123World'
pattern = r'123'
count = 0
for match in re.finditer(pattern, s):
count += 1
print('The string "123" was found', count, 'times.')
运行结果如下:
The string "123" was found 2 times.
我们使用了字符串模式来查找 "123",然后统计其出现次数。
结语
以上是 Python re 模块 re.finditer.string函数的简单使用方法及示例。使用 re 模块进行字符串操作时应该注意编写合理的正则表达式,并根据需要使用各种标记和函数对字符串进行处理,避免出现不必要的错误和效率问题。