假设我有一个字符串:
original_string = "(white || black) && (blue || yellow)"
我通过执行以下操作将每个单词替换为“替换”文本:
new_string = re.sub(r'[a-zA-Z0-9_]+', "replace", original_string)
所以我回来了:
"(replace || replace) && (replace || replace)"
这工作正常。但即使 original_string 在单词之间包含空格(或者即使没有),我也想要相同的结果。
例如:
original_string = (light pink || pink) && (very dark brown || blue)
我还是想回来:
"(replace || replace) && (replace || replace)"
我看到其他人问过这个问题,但是当我尝试解决方案时,我没有得到正确的替换(通常在维护括号方面存在一些问题)。我已经尝试过的一些事情是:
new_string = re.sub(r'[? \w+ ?]+', "replace", original_string)
new_string = re.sub(r'[\w+( \w+)*$]+', "replace", original_string)
但这些都没有给出预期的结果。有什么建议么?