Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式在字符串中查找用户UPN_C#_Regex - Fatal编程技术网

C# 正则表达式在字符串中查找用户UPN

C# 正则表达式在字符串中查找用户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

我想在所有类型的字符串中找到用户主体名称,以便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之前的整个部分(第一个空格,因为它匹配我猜的单词)

如何重新编写正则表达式以仅查找此字符串中的电子邮件/UPN


谢谢

如果UPN实际上与电子邮件地址的格式相同,请尝试以下问题的一些答案:

以下正则表达式适用于您的示例:

([a-zA-Z0-9.\u-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)


RFC822电子邮件地址的正则表达式:在我看来,这是一个csv文件,为什么不使用csv解析器呢?尝试
[\w\.]+@[\w\.]+
但在更复杂的情况下,它会中断。最简单的方法是:
[^]+@[^]+
无法使用csv解析器,因为我收集了大量数据源,所以我将所有行作为文本阅读,并尝试过滤掉任何特定于客户的信息。不过,谢谢!最后一行似乎工作正常。您还知道如何过滤掉域\用户名之类的内容吗?我非常担心出现误报。。。