regex - 使用正则表达式从 LDAP 路径中提取名称

标签 regex ldap

目前我正在使用下面的正则表达式从 LDAP 路径中提取名称,它可以正常工作,直到路径中使用了逗号。

当前正则表达式:

CN=([^,]*).*

在下面的示例 LDAP 路径中,我得到“Deborah\”,我希望它返回“Deborah, James”。我不懂正则表达式,我花了几个小时试图完成这项工作,谁能帮我解决这个问题?

CN=Deborah\, James,OU=员工,DC=Comp,DC=com

非常感激。
jack

最佳答案

如果您处于受控环境中并且可以控制 OU 始终找到 CN,那么您可以使用以下命令:

CN=(.*),OU=

如果你不能保证,那么你可以使用这个有点复杂,但如果任何其他属性跟随 CN 或者如果 CN 是最后一个,它将起作用:
CN=(.*?)(?:,[A-Z]+=|$)

关于regex - 使用正则表达式从 LDAP 路径中提取名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487345/

相关文章:

c# - LDAP over SSL 在设置快速并发绑定(bind)时返回 'unwilling to perform' 错误 (PrincipalContext.ValidateCredentials)

ruby - Ruby 中正则表达式后的字母

php - preg_match 显示 foreach 循环中的第一个匹配项

regex - 替换无效的文件名字符

python - ASP.NET 成员(member)资格的开源替代方案

java - 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

用于测试字符串是否同时包含大写和小写字母的正则表达式

Javascript匹配字符并在之间添加空格

powershell - 使用 Powershell 从多个域的事件目录组中提取所有用户?

filter - 编写 LDAP 查询过滤器