我试图查找前面有确切字符串但不是前面的字符串的字符。如何做到这一点?
我有字符串
+1545464454<+440545545454<+210544455454<+75455454545
上面的字符串是带有国际前缀的电话号码,但是其中一些前缀和号码之间有0,我需要将其取出。
我有 /(\+4|\+44|\+7 ... allprefixes here...)0/g
但这也选择了前缀,我只需要选择0
我在 JavaScript 中
最佳答案
你已经很接近了。只需使用捕获组并替换函数,如下所示。大多数语言都支持捕获组。
/(\+(?:4|44|7 ... allprefixes here without `+`...))0/g
替换字符串:
$1
或\1
如果您使用的是 PHP,则 \K
应该可以工作。 \K
在最后打印时丢弃先前匹配的字符。
'~\+(?:4|44|7)\K0~g'
在 JavaScript 中。
> var str = "+1545464454<+440545545454<+210544455454<+75455454545"
> str.replace(/(\+(?:44|21|7|4))0/g, "$1")
'+1545464454<+44545545454<+21544455454<+75455454545'
关于javascript - 前面有特定字符串时的匹配字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27423806/