以下是一个示例代码,展示了如何使用正则表达式按顺序匹配三个单词,中间可以有其他单词:
import re
# 输入字符串
input_string = "word1 some other words word2 more words word3"
# 定义待匹配的三个单词
word1 = "word1"
word2 = "word2"
word3 = "word3"
# 构建正则表达式模式
pattern = r"\b" + re.escape(word1) + r"\b.*\b" + re.escape(word2) + r"\b.*\b" + re.escape(word3) + r"\b"
# 使用正则表达式进行匹配
matches = re.findall(pattern, input_string)
# 输出匹配结果
for match in matches:
print(match)
运行上述代码,输出结果为:
word1 some other words word2 more words word3
这个示例中,我们首先定义了三个待匹配的单词word1
,word2
和word3
。然后,我们使用re.escape()
函数对这三个单词进行转义,以确保它们在正则表达式中被当作普通字符处理。
接下来,我们构建了一个正则表达式模式,用于按顺序匹配这三个单词。在模式中,我们使用\b
表示单词的边界,.*
表示匹配任意数量的字符。
最后,我们使用re.findall()
函数在输入字符串中找到所有符合模式的匹配项,并将结果打印出来。在这个示例中,输入字符串中的整个句子都满足模式,因此输出结果为整个句子。