2014-10-28 112 views
2

所以我有这个字符串CN=Jcombat,OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net正则表达式得到字符串后,第一个OU =

我有这个正则表达式给我包括第一个OU,所以最后的字符串应该看起来像这样:OU=Users,OU=US,OU=Support,DC=alphas,DC=akman,DC=net

不应该这种模式(?=-\"OU=")给我我需要什么?

+0

忘了提,我使用与使用.NET正则表达式 – 2014-10-28 14:37:41

回答

1
OU=.*$ 

应该为你做到这一点。

(?=OU=).*$ 

(?=OU=)会给你,你有OU=在它前面的位置,但你需要消耗它。 ?=只是一个断言,它不消耗字符串。

+0

Perfect OU =。* $完成这项工作。谢谢VKS – 2014-10-28 14:42:50

+0

@GreenCode欢迎:) – vks 2014-10-28 14:43:12

1

Positive Lookahead (?= ...)是一个零宽度断言,它不会“消耗”字符串上的任何字符,而只会断言是否匹配成为可能。你可以匹配从“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" 
+0

刚刚看到您的回复以及Nintex工作流程LDAP查询。感谢您的反馈和代码。 – 2014-10-28 14:54:16

相关问题