Regex 当名称包含逗号时,如何编写正则表达式来读取LDAP路径中的名称?
下面的正则表达式工作正常:Regex 当名称包含逗号时,如何编写正则表达式来读取LDAP路径中的名称?,regex,ldap,Regex,Ldap,下面的正则表达式工作正常: ^CN=([a-zA-Z\\]+\s+[a-zA-Z\\]+)\,.*$ 使用此值: CN=John Smith,OU=Staff,DC=internal,DC=net 留给我的是: John Smith 如果该值的名称中包含逗号,则会失败 CN=John\,Smith,OU=Staff,DC=internal,DC=net 公共名称中的逗号在LDAP中使用反斜杠\进行转义,因此不会导致路径中断 我的正则表达式看起来如何,因此我获得了John Smith甚至John\
^CN=([a-zA-Z\\]+\s+[a-zA-Z\\]+)\,.*$
使用此值:
CN=John Smith,OU=Staff,DC=internal,DC=net
留给我的是:
John Smith
如果该值的名称中包含逗号,则会失败
CN=John\,Smith,OU=Staff,DC=internal,DC=net
公共名称中的逗号在LDAP中使用反斜杠\
进行转义,因此不会导致路径中断
我的正则表达式看起来如何,因此我获得了
John Smith
甚至John\,Smith
?如果格式始终为'CN=VAL,OU=VAL..,则可以使用'OU='作为组捕获的标记。它具有明确的优点,这使得它能够自我记录:
/^CN=(.+?),OU=.+$/
var输入=[
“CN=John\,Smith,OU=Staff,DC=internal,DC=net”,
'CN=John Smith,OU=Staff,DC=internal,DC=net'
];
var regexp=/^CN=(.+?),OU=.+$/;
var matches=inputs.map(函数(输入){
返回input.replace(regexp,$1');
});
document.write(“”+JSON.stringify(matches,null,4)+“”)代码>为什么要使用正则表达式ldapquery
可以为您做到这一点