关于正则表达式的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于正则表达式的问题相关的知识,希望对你有一定的参考价值。

LDAP中的用户加入了几个组,导出的字段信息如下CN=HQ,OU=test,DC=sssb,DC=com;CN=IT,OU=IT,OU=test,DC=sssb,DC=com
我需要用正则表达式截取第二个CN后面的IT,如何通过正则表达式表达?

"CN=[\\\\d\\\\D]*?CN=(\\\\w+?), "

public static void main(String[] args) throws Exception
String s =
"CN=HQ,OU=test,DC=sssb,DC=com;CN=IT,OU=IT,OU=test,DC=sssb,DC=com";
Pattern p = Pattern.compile("CN=[\\\\d\\\\D]*?CN=(\\\\w+?),");
Matcher m = p.matcher(s);
if (m.find())
System.out.println(m.group(1));



java程序段,输出
IT
参考技术A (?<=CN\=.*?CN\=).*?(?=,) 参考技术B string str= "CN=HQ,OU=test,DC=sssb,DC=com;CN=IT,OU=IT,OU=test,
DC=sssb,DC=com";
string rr = @".*?(CN=\w+\W).*?\WCN=(?<s>\w+)\W.*";
Regex re = new Regex(rr);
MatchCollection mc = re.Matches(str);
foreach (Match mat in mc)

Console.WriteLine(mat.Groups.Count);
Console.WriteLine(mat.Groups["s"].Value);


C#正则表达式写法。

关于正则表达式问题

<span class="sheader_red" style="font-weight: bolder">216,369,470</span> 我怎么样获取 216,369,470 这个数字呢? 正则表达式怎么写?
有一个需要提醒一下 216,369,470 这个数字是变化的

参考技术A 第一段话:
比如对字符串
xxxxyyzzzxyzxyzzzz123
1.用
[xyz]*zzz这个贪婪表达式去匹配的时候
正则引擎的走法是先根据贪婪来匹配[xyz]*
由于一直符合字符xzy来组成,所以正则游标一直走到
xxxxyyzzzxyzxyzzzz,然后对后面的zzz做判断,发现后面是数字1,游标回溯,退到
xxxxyyzzzxyzxyzzz,再匹配zzz,发现后面z满足,但数字1不满足,再回溯,
退到
xxxxyyzzzxyzxyzz,发现后面是zz1,还是不满足zzz,再回溯,退到
xxxxyyzzzxyzxyz,这下发现后面是zzz了,符合[xyz]*zzz,ok,报告找到了
xxxxyyzzzxyzxyzzzz
2.用
[xyz]*?zzz这个非贪婪正则去匹配的时候,首先
找到x,看后面是不是zzz,不是,继续
找到xx,看后面是不是zzz,不是,继续
找到xxx,看后面是不是zzz,不是,继续
...
找到xxxxyy,看后面,发现是zzz,ok,报告找到了
xxxxyyzzz
注:当然这是由于有2个zzz地方,造成结果不同,如果在符合条件情况下,只有1处zzz,结果是一样的。根据实际情况来选取贪婪和非贪婪。

第二段话:
如果是一个循环查找比如java里面Matcher的while(m.find()),比如还是xxxxyyzzzxyzxyzzzz123
正则表达式([xyz]*?)zzz或者是([xyz]*?)(?:zzz)或者是([xyz]*?)(zzz)这种找“一串以zzz结尾的xyz组成的字符串”
第一轮正则判断找到xxxxyyzzz或者第一匹配组的xxxxyy之后,游标停在zzz后面
下一轮再找的时候,从zzz后面开始,找到xyzxyzzzz或者第一匹配组的xyzxyz
但如果是预查找([xyz]*?)(!=zzz) 这里用的是有,你那个是无,但仅仅意思相反,道理一样。这个第一轮找到xxxxyy,“游标在zzz前面”!第二轮从zzz前面开始找,找到zzzxyzxyz。

额。就这么个意思,不知道能帮到你不。
悬赏分:5分。。。
5分。。。
分。。。
以上回答你满意么?追问

我只要 关于我的回答就好。。 直接告诉我 这个怎么用正则 216,369,470 这个数字是变化的

参考技术B ([\d,]+)
提示答案太简单,补点废话。

以上是关于关于正则表达式的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于正则表达式 1 2之类的问题

关于浮点数的正则表达式?

关于grep后跟多个正则查询条件的问题

[原创]关于正则表达式

关于正则表达式的5个小贴士

关于正则表达式和通配符区别