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