Javascript 前跟特定字符串时的匹配字符

Javascript 前跟特定字符串时的匹配字符,javascript,regex,Javascript,Regex,我试图查找前面有精确字符串但前面没有字符串的字符。怎么做 我有绳子 +1545464454<+440545545454<+210544455454<+75455454545 +1545464454如果您的语言支持lookbehinds,您可以在下面的正则表达式中使用它 /(?<=\+(4|44|7))0/g 如果您的语言支持lookbehinds,您可以在下面的正则表达式中使用它 /(?<=\+(4|44|7))0/g 你就快到了。只需使用下面的捕获组和替换功

我试图查找前面有精确字符串但前面没有字符串的字符。怎么做

我有绳子

+1545464454<+440545545454<+210544455454<+75455454545

+1545464454如果您的语言支持lookbehinds,您可以在下面的正则表达式中使用它

/(?<=\+(4|44|7))0/g

如果您的语言支持lookbehinds,您可以在下面的正则表达式中使用它

/(?<=\+(4|44|7))0/g

你就快到了。只需使用下面的捕获组和替换功能。大多数语言都支持捕获组

/(\+(?: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'

>var str=“+1545464454您几乎接近了这一点。只需使用捕获组并替换如下函数即可。大多数语言都支持捕获组

/(\+(?: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'

>var str=“+1545464454您使用的是哪种语言?是否要删除这些零?您的预期输出是什么?在
0
之前使用
\K
。更新-是Javascript,您使用哪种语言?是否要删除这些零?您的预期输出是什么?在
0
之前使用
\K
。更新-它的javascriptPCRE支持固定的lookbehind。这个没有修好。此解决方案仅适用于极少数语言/工具。其中之一是.netop只想选择前缀旁边的
0
。@HamZa啊!添加了另一个解决方案。ThanksPCRE支持固定的lookbehinds。这个没有修好。此解决方案仅适用于极少数语言/工具。其中之一是.netop只想选择前缀旁边的
0
。@HamZa啊!添加了另一个解决方案。谢谢