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, ".");