You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式问题:如何标记邮箱多余点并忽略字母内嵌点?

解决邮箱中多余连续点的正则匹配问题

要精准标记邮箱里的多余连续点(忽略单个内嵌点),可以使用以下正则表达式:

(?<=\.)\.

工作原理

  • (?<=\.):正向肯定后顾断言,确保当前匹配的点的前一个字符也是点,也就是说只匹配连续点序列中的第二个及以后的点
  • \.:匹配当前的点

这样就能避开单个的内嵌点(比如mike.smith或yahoo.com里的单个点),只标记连续重复的多余点。

测试示例

针对你的错误邮箱:

  1. mike.smith@yahoo..com → 会匹配yahoo..com中的第二个点
  2. mike....smith@yahoo.com → 会匹配mike....smith中的后三个点

原正则问题分析

你之前使用的(\.(?!(\.\w)))之所以会匹配单个内嵌点,是因为这个正则的逻辑是“匹配一个点,且该点后面不是.加单词字符”。当单个点后面直接跟单词字符(比如mike.smith里的.后面是s)时,断言(?!\.\w)成立,所以这个单个点会被错误匹配。

内容的提问来源于stack exchange,提问作者Pete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:45:49