python re 匹配关键字后面的数据
要使用Python的re
模块匹配关键字后的数据,你可以使用正则表达式的捕获组(capturing group)功能。捕获组可以通过圆括号()
定义,匹配到的内容可以在匹配后通过group
方法获取。
以下是一个简单的例子,假设我们要匹配关键字keyword
后面跟着的所有数字:
import re
text = "This is a sample text with the keyword 1234 and another keyword 5678."
keyword = "keyword"
# 定义正则表达式,其中(\d+)是捕获组,用于捕获一个或多个数字
pattern = re.compile(r'\b' + re.escape(keyword) + r'\b\s+(\d+)')
# 使用findall方法查找所有匹配项,捕获组的数据将作为结果的一部分返回
matches = pattern.findall(text)
# 输出匹配结果
for match in matches:
print(match[:]) # 输出捕获组捕获的数字
这段代码会输出:
1234
5678
在这个例子中,re.escape(keyword)
确保关键字中的特殊字符不会被解释为正则表达式的一部分,\b
代表单词边界,用于确保整个关键字是作为独立的单词出现的。(\d+)
是捕获组,用于捕获一个或多个数字。findall
方法返回所有匹配的结果,每个结果是一个元组,其中包含捕获组的数据。