javascript - 前面有特定字符串时的匹配字符

标签 javascript regex

我试图查找前面有确切字符串但不是前面的字符串的字符。如何做到这一点?

我有字符串

+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/

相关文章:

c# - 使用负向后查找来匹配字符串中的单词

javascript - 嵌入的 Discord.js 按钮

regex - Tuckey URL 重写过滤器的 "Exceptional"规则

javascript - 通过 JavaScript 更改 body 标签样式

javascript - JQuery 日期选择器不工作

python - 我误解了 Python 正则表达式吗?

php - 如何从欧元 (€) 表达式中删除特定的前导和尾随字符?

regex - Perl Regex 来 Grep 一个不以特殊字符 _ 开头的词

javascript - RxJS:处理 cycle.js 自定义驱动程序中的错误

javascript - 使用 knockout.js 将数组绑定(bind)到 View 模型