求可匹配NATURAL与FLAVOR间最多3个单词的Python正则表达式
Python正则表达式匹配NATURAL与FLAVOR之间最多三个单词的内容
正则表达式方案
可以使用以下正则表达式满足需求:
r'NATURAL(?:\s+\w+){0,3}\s+FLAVOR'
表达式解释
NATURAL:精准匹配起始的固定字符串(?:\s+\w+){0,3}:非捕获分组,用于匹配0到3个单词:\s+:匹配一个或多个空格(用于分隔单词)\w+:匹配由字母/数字/下划线组成的单词(若需支持带特殊字符的单词,可替换为[^,\s]+这类模式){0,3}:限制该分组最多出现3次,对应中间最多3个单词
\s+FLAVOR:匹配结尾的固定字符串FLAVOR及其前的空格
Python代码示例
import re # 测试案例 test_cases = [ "I have NATURAL SMOKE FLAVOR, and other elements.", "I have NATURAL LEMON AND SALT FLAVOR, and other elements.", "Noor has NATURAL FLAVOR in her ingredients." ] pattern = r'NATURAL(?:\s+\w+){0,3}\s+FLAVOR' for case in test_cases: match = re.search(pattern, case) if match: print(f"匹配结果:{match.group()}")
输出结果
匹配结果:NATURAL SMOKE FLAVOR 匹配结果:NATURAL LEMON AND SALT FLAVOR 匹配结果:NATURAL FLAVOR
可选调整
如果需要忽略大小写(比如匹配natural或flavor的小写形式),可在re.search中添加re.IGNORECASE标志:
match = re.search(pattern, case, re.IGNORECASE)
内容的提问来源于stack exchange,提问作者Nida
相关产品推荐
相关产品推荐

