我需要一个匹配尽可能多的特殊字符\
和|
的正则表达式。之后我想用一个特殊字符替换匹配。我知道如何替换它们,但我不知道选择尽可能多的正确的正则表达式。
我尝试了一些变化,但说实话,我不知道我在做什么,需要一些帮助。
[|+]|[\+]
示例数据:
Hello ||||| this \\ is a test |||
期望的结果:
Hello . this . is a test .
答案 0 :(得分:2)
将+
带到外面。在字符类中,它只是+
符号。另外,逃避\
:
[|]+|[\\]+
此外,由于您尝试仅使用一个字符替换它们,您可能更喜欢以下正则表达式:
[|\\]+
它会将Hello ||\\|| world
变为Hello . world
。而第一个会把它变成Hello ... world
请参阅演示:http://regexr.com?35ef0
答案 1 :(得分:0)
试试这个(Javascript示例):
"Hello ||||| this || is a test |||".replace(/[|]+|[\\]+/g, ".")
将输出:
"Hello . this . is a test ."
答案 2 :(得分:0)
这似乎在Javascript中得到了你想要的东西。
'Hello ||||| this |\\| is a test |||'.replace(/(\||\\)+/g, ' . ')
答案 3 :(得分:0)
试试这个...
"Hello ||||| this || is a test |||".replace(/\|+/g, ".");