所以我有这个字符串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=")
不应该给我我需要的东西吗?
答案 0 :(得分:1)
正向前瞻(?= ... )
是零宽度断言,它不会消耗"字符串上的任何字符,但只断言匹配是否可能。你可以匹配" 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"
答案 1 :(得分:1)
OU=.*$
应该为你做。
或
(?=OU=).*$
(?=OU=)
会为您提供一个位置OU=
之前的位置,但您也需要使用它。 ?=
只是一个断言。它不消耗字符串。