从字段中提取名称(正则表达式)

时间:2016-09-19 15:44:03

标签: regex

我试图从一个如下所示的字符串中提取名字和姓氏:

CN=First\, Last,OU=Standard users,OU=Users,OU=Place,OU=DOMAIN,DC=dfe,DC=stuff,DC=asdf

([^CN=,\\])([a-zA-Z]*)?(?!OU)

我的尝试在上面,但显然不起作用。

有人能指出我正确的方向吗?

由于

5 个答案:

答案 0 :(得分:0)

您可以使用以下表达式:

^CN=(.*?)\\, (.*?),

Live demo。它使用两个捕获组作为名字和姓氏,并使用其他静态文本。

答案 1 :(得分:0)

CN=(.*)\\, ([^,]*),

这应该是你的第一个直到\,并持续到下一个逗号。

答案 2 :(得分:0)

你可以提出:

CN =(P [^,] +),\ S * (ΔP[^,] +)

请参阅Here is a working example

答案 3 :(得分:0)

在您尝试的正则表达式中,[^CN=,\\]此部分将完全与您需要的完全相反,就像匹配除CN=,\\之外的字符一样。 您可以使用:

^CN=[^,]+,\s+[^,]+

答案 4 :(得分:0)

^CN=(.+)\\, (.+?),

这将使您在第一个捕获组中获得First,在第二个捕获组中获得Last,假设所有内容都与以CN=开头的行模式匹配,然后是名字,然后是{ {1}},然后是姓氏,然后是\,。第一个和最后一个不仅限于字母。

当您将,置于括号内时^,然后您告诉正则表达式查找除[^CN=,\\]C,{{{{}}之外的任何字符1}},N=