gpt4 book ai didi

javascript - 重写此正则表达式而不使用 lookbehind - JS 的正则表达式无效

转载 作者:行者123 更新时间:2023-11-30 20:02:09 25 4
gpt4 key购买 nike

只有很少的 Regex 经验,我正在尝试在 node.js 中实现一些电子邮件屏蔽,一切都在本地运行良好,但一旦推送到服务器,我就会收到无效的 Regex 错误。

可以在这里找到正则表达式代码示例

https://regexr.com/42uid

var email = 'foo@bar.com'
const regex = /(.)[^@\n](?=[^@\n]*[^@\n]@)|(?:(@.)|(?!^)\G(?=[^@]*$)).(?!$)/g;
const maskedEmail = email.replace(regex, '*');

maskedEmail 应该返回

  f*o@b*r.com

我已将问题缩小为“后视/先行”,据我所知,它在 JS 中不可用。但是我不知道如何最好地重写它。

最佳答案

您可以在多个组中捕获它,然后在替换为 $1$2 等时检索该数据。

通过使用这个正则表达式:^(.).*(.@.).*(.\.[^\.]+)$
并使用以下替换字符串:$1*$2*$3
它将导致:f*o@b*r.com

我的 fiddle 链接:https://regexr.com/42um8

关于javascript - 重写此正则表达式而不使用 lookbehind - JS 的正则表达式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com