C# 正则表达式在字符串中查找用户UPN
我想在所有类型的字符串中找到用户主体名称,以便C#工具匿名化特定于客户的数据 我发现了这个: (?[^@]+)@(?([a-z0-9]+)+[a-z]+) 但是在这样的字符串中: f-4af0-86e8-01439a0ae52a\“,”活动\“,”2018年10月30日9:05:35 AM\“,”SingleSession\“,”Desktop\“,”2018年10月29日2:35:06 PM\“,\“655952\”,“DOM\na010318\”,“na010318\”,“DOM\n010318\”,“S-1-5-21-20526991999-3915784498-158209984-1157056\”,“用户。a@domain.acc.local“,”主要“,”c46b084c-6df3-47dd-9d3e-8e17f855c7fe“ 它匹配UPN之前的整个部分(第一个空格,因为它匹配我猜的单词) 如何重新编写正则表达式以仅查找此字符串中的电子邮件/UPNC# 正则表达式在字符串中查找用户UPN,c#,regex,C#,Regex,我想在所有类型的字符串中找到用户主体名称,以便C#工具匿名化特定于客户的数据 我发现了这个: (?[^@]+)@(?([a-z0-9]+)+[a-z]+) 但是在这样的字符串中: f-4af0-86e8-01439a0ae52a\“,”活动\“,”2018年10月30日9:05:35 AM\“,”SingleSession\“,”Desktop\“,”2018年10月29日2:35:06 PM\“,\“655952\”,“DOM\na010318\”,“na010318\”,“DOM\n0103
谢谢如果UPN实际上与电子邮件地址的格式相同,请尝试以下问题的一些答案: 以下正则表达式适用于您的示例:
([a-zA-Z0-9.\u-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)
RFC822电子邮件地址的正则表达式:在我看来,这是一个csv文件,为什么不使用csv解析器呢?尝试
[\w\.]+@[\w\.]+
但在更复杂的情况下,它会中断。最简单的方法是:[^]+@[^]+
无法使用csv解析器,因为我收集了大量数据源,所以我将所有行作为文本阅读,并尝试过滤掉任何特定于客户的信息。不过,谢谢!最后一行似乎工作正常。您还知道如何过滤掉域\用户名之类的内容吗?我非常担心出现误报。。。