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

Notepad++正则无法匹配带前置空格的邮箱问题求助

解决行首带空格的邮箱匹配与脱敏方案

修改正则表达式匹配行首空格的邮箱

原正则用^锚定行首,无法匹配行首带空格的邮箱,只需在^后添加\s*(匹配零个或多个空白字符,包括空格、制表符)即可:

^\s*([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$

说明

  • ^\s*:覆盖行首带空格、制表符的场景,保证行首有空白字符时也能匹配到邮箱
  • 其余部分保留原正则逻辑,确保邮箱格式匹配的准确性

Notepad++脱敏操作步骤

  1. 打开目标日志文件,按Ctrl+H调出替换窗口
  2. 切换到正则表达式模式,按需勾选「匹配换行符」(针对整行邮箱场景可忽略)
  3. 在「查找目标」栏填入上述修改后的正则
  4. 在「替换为」栏填入脱敏格式,比如保留邮箱前缀前3个字符,后续用***替代:
    \1***@\2\6
    
    (注:\1对应邮箱前缀捕获组,\2和\6对应域名部分,保证域名完整保留)

验证效果

针对你提供的日志片段,修改后的正则可匹配到所有目标邮箱,包括行首带空格的 ken.mun@test.com,脱敏后示例如下:

  • bla***@test.com
  • ken***@test.com
  • ken***@test.com
  • jef***@mytech.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:47:12