正则表达式模式完全匹配n次

时间:2019-05-21 13:54:08

标签: python regex python-3.x python-regex

假设我有一个模式* 123 * 234 * 567重复了三遍(例如*和(。*?)的组合。

我该如何写正则表达式以使模式只能匹配3次而不能匹配更多或更少?

1 个答案:

答案 0 :(得分:1)

您可以使用一个非捕获组,并寻找3个连续的匹配组。不确定要在星号之间匹配什么,我假设数字和字母数字字符:

s = '*42*998 *123*234*567 *123*123'

re.findall(r'(?:\*(?:\d+|\w+)+){3}', s)
# '*123*234*567']