.net 正则表达式在第一个OU之后获取字符串=

.net 正则表达式在第一个OU之后获取字符串=,.net,regex,.net,Regex,所以我有一个字符串CN=Jcombat,OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net 我有一个正则表达式,它可以为我提供一切,包括第一个OU,所以最后的字符串应该是这样的:OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net 此模式是否应该(?=-\“OU=”)提供我所需的信息?正向前瞻是一种零宽度断言,它不“使用”字符串上的任何字符,只声明是否可能匹配。您可以匹配从“OU=”到字符串末尾

所以我有一个字符串
CN=Jcombat,OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net

我有一个正则表达式,它可以为我提供一切,包括第一个
OU
,所以最后的字符串应该是这样的:
OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net

此模式是否应该
(?=-\“OU=”)
提供我所需的信息?

正向前瞻是一种零宽度断言,它不“使用”字符串上的任何字符,只声明是否可能匹配。您可以匹配从“OU=”到字符串末尾的所有内容

String s = "CN=Jcombat,OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net";
Match m  = Regex.Match(s, @"OU=.*");
if (m.Success)
    Console.WriteLine(m.Value); //=> "OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net"
我应该为你做这件事


(?=OU=)
将为您提供一个位置,您前面有
OU=
,但您也需要使用它<代码>?=只是一个断言。它不使用字符串。

忘了提到我在Nintex workflow中使用LDAP查询,它使用.net RegExPerfect OU=.*$完成任务。谢谢,我刚才也看到了你的回复。感谢您的反馈和代码。
OU=.*$
(?=OU=).*$