电子邮件屏蔽的正则表达式

2023-11-23

我正在尝试编写正则表达式来掩盖电子邮件地址。下面的例子。

input: [电子邮件受保护]

输出:j*****@e*********.com

我已经尝试过以下方法,但我似乎无法使其正常工作。

regex:(?<=.).(?=[^@]\*?@)

输出:j*****@example.en.com

regex:(?<=.).(?=[^@]\*?)(?=[^\.]\*?\.)

输出:j********************.com

任何帮助,将不胜感激。demo


更新各种屏蔽电子邮件解决方案

  • [email protected]f**@b**.com(当前问题)-s.replaceAll("(?<=.)[^@](?=[^@]*?@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?=.*\\.)", "*") (see 正则表达式演示)

  • [email protected]f**@b*r.com - s.replaceAll("(?<=.)[^@](?=[^@]*?@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?=.*[^@]\\.)", "*") (see 正则表达式演示)

  • [email protected]f*o@b*r.com - s.replaceAll("(?<=.)[^@](?=[^@]*?[^@]@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?=.*[^@]\\.)", "*") (see 正则表达式演示)

  • [email protected]f**@b*****m - s.replaceAll("(?<=.)[^@](?=[^@]*?@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?!$)", "*") (see 正则表达式演示)

  • [email protected]f*o@b*****m - s.replaceAll("(?<=.)[^@](?=[^@]*[^@]@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?!$)", "*") (see 正则表达式演示)

原答案

如果您无法使用基于代码的解决方案,您可以使用

s.replaceAll("(?<=.)[^@](?=[^@]*?@)|(?:(?<=@.)|(?!^)\\G(?=[^@]*$)).(?=.*\\.)", "*")

See the 正则表达式演示

它能做什么:

  • (?<=.)[^@](?=[^@]*?@)- 除@ ([^@]) 前面有任何单个字符 ((?<=.)) 后跟任何 0 个或更多字符,除了@最多一个@ ((?=[^@]*?@))
  • | - or
  • (?:(?<=@.)|(?!^)\\G(?=[^@]*$))- 匹配字符串中前面带有的位置@和任何字符((?<=@.)) or (|) 上一次成功匹配的结束 ((?!^)\\G) 后跟任何 0+ 字符,除了@uo 到字符串末尾 ((?=[^@]*$))
  • .- 任何单个字符
  • (?=.*\\.)- 后面跟有 0 个以上字符,直到最后一个.字符串中的符号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电子邮件屏蔽的正则表达式 的相关文章

随机推荐

  • 当属性可以抛出异常时对象初始值设定项和 Dispose

    我有以下设置 public class SomeClass private DirectoryEntry root private DirectorySearcher searcher public SomeClass root new D
  • 带有变量赋值的基本 vue.js 2 和 vue-resource http get

    我真的很难让最基本的 REST 功能在 vue js 2 中工作 我想从某个端点获取数据并将返回值分配给我的 Vue 实例的变量 这是我已经走了多远 var link https jsonplaceholder typicode com u
  • .split(/\s+/) 和 .split(" ") 之间的区别?

    首先 抱歉我的英语不好 p 我正在查看下一个 js 代码片段 var classes element className split s 该代码会将 和 元素的完整类名拆分为包含每个类的数组 但是 使用之间有什么区别 split s 并使用
  • 如何正确使用lua_pop()函数?

    谁能告诉我如何在 C 中正确使用 lua pop 函数 当我使用 lua get 函数时我应该调用它吗 喜欢 lua getglobal L 某事 lua pop L 1 或者如何使用它 垃圾收集器会在阈值之后清除这些东西吗 谢谢 你打电话
  • Angular:将 XML 转换为 JSON

    我有这种方法 我从远程服务器接收 XML 响应 我需要将 XML 转换为 JSON 以便 Angular 2 可以处理数据 private extractData res Response let xml res body console
  • 静态图像的OpenCV haar训练

    我尝试训练 haar 级联分类以进行卡片套装检测 没有旋转并且图像没有失真 例如 我有文件 Clubs png 其中包含白色背景 20x20 像素的俱乐部图像 这个教程好纠结http note sonots com SciSoftware
  • Orchard CMS中如何处理来自JS的跨域Web服务调用

    我正在尝试从 HTML 小部件内跨域调用 Web 服务 这似乎不起作用 它在同一域下运行得很好 我正在尝试在 Orchard 中创建一个登录页面 可用于登录另一个域上的我的软件 Web 服务正在验证用户凭据并返回一个布尔值 然后该布尔值将生
  • 无法执行 dex:Eclipse 中超出了 GC 开销限制

    当我下载Git项目时OsmAnd并去编译它 Eclipse 返回这些错误 Dex Loader Unable to execute dex GC overhead limit exceeded OsmAnd Conversion to Da
  • 如何在Windows上安装gssapi python模块?

    我目前正在尝试获取gssapi模块让 python 在 Windows 上运行 我的目标是使用 python 模块通过 Active Directory 进行身份验证ldap3 gssapi 是其工作的必要条件 但是 安装失败 因为找不到
  • 如何从 Visual Studio (2003) 中运行我的 Windows CE 项目?

    我正在开发一个遗留应用程序 需要在 VS 2003 中继续 但是 我无法有效地调试它 因为当我尝试运行它时 我收到以下对话框 Deploy 选择要定位的设备 如果所选设备上尚未安装 NET Compact Framework 它将与您的应用
  • 是否有相当于 GetLastInputInfo / LASTINPUTINFO 的 64 位?

    We use 获取最后输入信息并计算与GetTickCount64结果的差值来确定空闲情况 然而 GetLastInputInfo返回的tick计数被写入LASTINPUTINFO的成员dwTime中 它是一个DWORD 因此是一个无符号3
  • 在 Windows 中设置 stdout/stderr 文本颜色

    我尝试使用system color 24 但这并没有改变提示中的颜色 所以经过更多的谷歌搜索后我看到SetConsoleTextAttribute并编写了以下代码 这导致两者stdout and stderr两者都变成红色而不是stdout
  • 为什么这个 for 循环不处理数组的所有元素?

    给出以下脚本 bin bash asteriskFiles sip conf extensions conf for asteriskFile in asteriskFiles do backup current configuration
  • 如何与窗框碰撞,弹起球并将球限制在矩形区域内?

    嘿 我正在尝试使用 pygame 创建一个突破克隆 并且我使用了 self course 180 self course 360 为了弹起球拍的球 我正在研究向量 2 类 但我不知道如何使用它来转换我的球类 如果有人能引导我走向正确的方向
  • iOS - 照片后台上传

    我想创建一个应用程序 它将自动将相机胶卷中的新照片上传到我的网络服务 就像新的 Flickr 应用程序的自动上传功能一样 目前我正在研究如何正确设置它 我猜 iOs 7 的新后台功能可以实现这一点 但是 是否可以从后台获取启动后台传输服务
  • 支持 dropdownlist .NET MVC 中的 optgroup?

    从这个问题继续以编程方式创建下拉列表我希望我的清单有几个optgroup也列出了 目前这可能吗 我知道我需要将 selectList 传递到 dropDownList 但不知道如何将文本 值 optgroup 添加到 selectList
  • 从数组填充嵌套对象?

    我有一个问题 如何从数组创建嵌套对象 IE 我有一个以下数组 var myArr foo bar baz 并需要使其成为一个对象 例如 myObj foo bar baz 我怎样才能正确地做到这一点 Use reduce var myArr
  • 如何从下载的页面中删除所有html标签[重复]

    这个问题在这里已经有答案了 我已经使用 urlopen 下载了一个页面 如何从中删除所有 html 标签 是否有任何正则表达式可以替换所有 标签 我也可以推荐美丽汤这是一个易于使用的 html 解析器 在那里你会做类似的事情 from Be
  • Wav 音频文件压缩不起作用

    是否可以在不降低采样率的情况下压缩 wav 音频文件 我有一个 256 比特率和采样率 8000Hz 的音频文件 我只想将比特率降低到 128 64 kbs 我尝试转换为 mp3 再转换回 wav ffmpeg i 输入 wav 1 mp3
  • 电子邮件屏蔽的正则表达式

    我正在尝试编写正则表达式来掩盖电子邮件地址 下面的例子 input 电子邮件受保护 输出 j e com 我已经尝试过以下方法 但我似乎无法使其正常工作 regex lt 输出 j example en com regex lt 输出 j