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

如何用单个Regex从指定邮箱中提取不含公司名的用户名?

解决方案

可以用这个正则表达式精准提取不含公司后缀的用户名:

^(.*?)(?:company[123])?(?=@example\.com)$

正则各部分说明:

  • ^:匹配字符串开头,避免误匹配邮箱外的内容
  • (.*?):非贪婪匹配用户名核心部分(比如john.stewart、richard.weiss),非贪婪模式能确保不会把company前缀包含进来
  • (?:company[123])?:可选非捕获组,匹配末尾的company1/company2/company3,?表示这部分可能不存在
  • (?=@example\.com):正向预查,确保后面紧跟@example.com,且不会把这部分纳入匹配结果
  • $:匹配字符串结尾,确保邮箱格式符合预期

测试结果

针对你的示例邮箱,提取结果如下:

  • john.stewartcompany1@example.com → john.stewart
  • bruce.williamscompany1@example.com → bruce.williams
  • richard.weiss@example.com → richard.weiss
  • julia.palermocompany2@example.com → julia.palermo
  • edward.philipscompany3@example.com → edward.philips

如果用JavaScript调用,示例代码如下:

const emails = [
  'john.stewartcompany1@example.com',
  'bruce.williamscompany1@example.com',
  'richard.weiss@example.com',
  'julia.palermocompany2@example.com',
  'edward.philipscompany3@example.com'
];
const regex = /^(.*?)(?:company[123])?(?=@example\.com)$/;
emails.forEach(email => {
  const match = email.match(regex);
  match && console.log(match[1]);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:35:26