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

Azure SCIM连接器正则需求:从多域名UPN提取用户名

处理多域名场景下的UPN/邮箱用户名提取

嘿,作为正则新手碰到多域名的情况确实有点懵,别担心,这个需求其实用一个简单的正则就能轻松搞定!

核心思路很直白:我们只需要匹配@符号以及它后面的所有内容,然后把这部分替换成空字符串就行——不管后面跟着什么域名,都能一次性处理掉。

通用正则表达式

你需要用到的正则是:@.*$

  • @:字面匹配邮箱/UPN里的@符号,精准定位分割点
  • .*:贪婪匹配任意数量的任意字符(除换行符),确保能覆盖从@到结尾的所有域名内容
  • $:匹配字符串的结尾,保证我们不会漏掉域名的任何部分(比如多级域名company.co.uk这种也能全匹配)

不同工具中的实现示例

根据你之前用的Replace函数风格,我给你几个常见场景的具体写法:

  • PowerShell:
    $userPrincipalName = "first.last@domain1.com"
    $username = $userPrincipalName -replace '@.*$', ''
    # 输出结果:first.last
    
  • Power Automate(或类似低代码工具):
    把原Replace参数替换成:
    Replace([userPrincipalName], '@.*$', '')
    
  • JavaScript:
    const email = "john@any-domain.org";
    const username = email.replace(/@.*$/, '');
    
  • Python:
    import re
    upn = "jane.doe@company.co.uk"
    username = re.sub(r'@.*$', '', upn)
    

测试验证

不管你的UPN是first.last@domain1.com、john@any-domain.org还是jane.doe@company.co.uk,用这个正则处理后,都能准确提取出前面的用户名部分。

这个正则足够应对绝大多数标准的UPN/邮箱场景,毕竟标准的UPN和邮箱只会有一个@符号,完全不用担心匹配出错~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 17:42:35