使用Regex,我想删除括号内的一些单词,除非包含某些单词。
目标词是:
hoho
haha
所以我想改变这个字符串:
"Nice (foo line) (haha great) (bar) (hoho how)"
到
"Nice (haha great) (hoho how)"
我尝试了question的一些表达,但我找不到任何答案。我该怎么办?
答案 0 :(得分:0)
如果您不反对使用除了正则表达式之外的某些python,您可以拆分单词组,然后搜索每个组以查找要保留的模式。最后,将保留的组合在一起成为一个字符串。
import re
s = "Nice (foo line) (haha great) (bar) (hoho how)"
' '.join(x.group() for x in re.finditer(r'\([\w\s]+\)|\b\w+\b',s)
if re.search(r'^[\w\s]+$|hoho|haha', x.group()))
# returns:
'Nice (haha great) (hoho how)'