如何使用Regex从邮箱模式中提取指定可选子串?
从邮箱中提取指定子串的正则方案
完全可以用正则实现这个需求,既然你明确不会出现多个匹配子串共存的情况,只需把可选子串列表构建成分支匹配规则即可。
具体实现
将可选子串用竖线|拼接,生成正则表达式:
(confidental|customer|personal|unclassified)
匹配时直接捕获该分组的内容,就能得到目标子串。
示例验证
对应你给出的邮箱字符串:
- 输入:
dgov-cpd-confidental@gmail.com→ 提取结果:confidental - 输入:
dgov-rpt-personal-retr@gmail.com→ 提取结果:personal - 输入:
dgov-trp-unclassified-ret@gmail.com→ 提取结果:unclassified
额外提示
如果后续子串列表出现包含关系(比如person和personal),记得把更长的子串放在分支前面,避免短子串优先匹配截断结果。
内容的提问来源于stack exchange,提问作者unnest_me
相关产品推荐
相关产品推荐

