我有这句话,我使用正则表达式将"merda"
或"merdas"
替换为---
"merda vamerda e mais mmmerda? a merdaaa lol merda, namerda m e r d a mesmo merda"
这是使用正则表达式:
m{1,}e{1,}r{1,}d{1,}a{1,}s{1,}|m{1,}e{1,}r{1,}d{1,}a{1,}
这就是结果:
"--- va --- e mais --- ? a --- lol --- , na --- m e r d a mesmo ---"
此处有3个错误,vamerda
和namerda
不应替换,并且不会替换m e r d a
。
你能帮我吗?
答案 0 :(得分:5)
怎么样:
/\bm+\s*e+\s*r+\s*d+\s*a+\s*s*\b/
<强>解释强>
\b : word boundary
m+ : matches 1 or more m
\s* : matches 0 or more spaces
... same explanation for other letters (e,r,d,a)
s* : matches 0 or more s
\b : word boundary
这将匹配给定示例中的所有预期组合。
修改的
根据您的评论,您可以通过将\s*
与[\s_]*
交换为\bm+[\s_]*e+[\s_]* and so on ...
来修改正则表达式:
\bm+[^a-z]* ...
甚至是:
{{1}}
答案 1 :(得分:-1)
答案 2 :(得分:-1)
试试这个:
/\Amerda\s+|\smerda,|\smerda\z|\s+merdas\s+|m\se\sr\sd\sa\s/