【发布时间】:2020-09-21 13:19:14
【问题描述】:
我有一个字符串,其中一个模式可以连续重复。我的目标是用一个替换上述模式的一个或多个连续出现。
例如。如果字符串是“BREAKBREAKBREAKword1BREAKword2 word3 BREAKBREAKBREAKBREAKBREAK word4BREAK word5”并且模式是“BREAK”。 最终输出应该是“BREAKword1BREAKword2 word3 BREAK word4BREAK word5”
有人可以帮我在 python 中实现这一点吗?当模式是字符时,我能够实现这一点,但当它是字符串时则不行。另外,我不想使用 for 循环来实现这一点。我正在寻找正则表达式解决方案。
我的正则表达式是
re.sub("BREAK{2,}", "BREAK", string).
这在 BREAK 只是一个字符而不是字符串时有效。
【问题讨论】:
-
请包含您想出的正则表达式,然后我们可以帮助您更正它
-
谢谢@DanielFarrell。我正在尝试这样的 re.sub("BREAK{2,}", "BREAK", string)。
-
只需使用
re.sub("(BREAK){2,}", "BREAK", string)。使用括号 -
result = re.sub("(?:BREAK)+", "BREAK", subject)
标签: python-3.x regex string