Regex 尽可能多地匹配并替换为一个
我需要一个正则表达式,它匹配尽可能多的特殊字符Regex 尽可能多地匹配并替换为一个,regex,replace,Regex,Replace,我需要一个正则表达式,它匹配尽可能多的特殊字符\和。之后我想用一个特殊字符替换匹配项。我知道如何替换它们,但我不知道选择尽可能多的合适正则表达式 我尝试了一些变化,但老实说,我不知道我在做什么,需要一些帮助 [|+]|[\+] 示例数据: Hello ||||| this \\ is a test ||| 预期结果: Hello . this . is a test . 把+带到外面。在character类中,它只是+符号。另外,请退出\: [|]+|[\\]+ 此外,由于您正试图将它们
\
和
。之后我想用一个特殊字符替换匹配项。我知道如何替换它们,但我不知道选择尽可能多的合适正则表达式
我尝试了一些变化,但老实说,我不知道我在做什么,需要一些帮助
[|+]|[\+]
示例数据:
Hello ||||| this \\ is a test |||
预期结果:
Hello . this . is a test .
把
+
带到外面。在character类中,它只是+
符号。另外,请退出\
:
[|]+|[\\]+
此外,由于您正试图将它们全部替换为一个字符,因此您可能更喜欢以下正则表达式:
[|\\]+
它将把Hello\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。世界
。而第一个会把它变成Hello。。。世界
请参阅演示:试试这个(Javascript示例):
将输出:
"Hello . this . is a test ."
这似乎在Javascript中得到了您想要的东西
'Hello ||||| this |\\| is a test |||'.replace(/(\||\\)+/g, ' . ')
试试这个
"Hello ||||| this || is a test |||".replace(/\|+/g, ".");
哪个regex家族?sed、perl、python、m grep、$X?您可能正在寻找“贪婪”。我将在java和c#中使用它。我不太了解regex家族。谢谢你的描述。正则表达式[|\]+正是我所需要的,测试它的链接也很好。
"Hello ||||| this || is a test |||".replace(/\|+/g, ".");