解析LDAP dn的正则表达式
时间:2020-03-06 14:23:33 来源:igfitidea点击:
我有以下字符串:
cn=abcd,cn=groups,dc=domain,dc=com
是否可以在此处使用正则表达式来提取第一个cn =
之后和第一个,
之前的字符串?在上面的示例中,答案应为" abcd"。
解决方案
是的,使用perl / java语法cn =([^,] *),
。然后,我们将获得第一组。
/^cn=([^,]+),/
/cn=([^,]+),/
大多数语言会将匹配项提取为$ 1或者matchs [1]
如果我们由于某种原因不能使用下标,
$x =~ s/^cn=// $x =~ s/,.*$//
那是一个分两步完成的方法。
如果我们使用sed从日志中解析它
sed -n -r '/cn=/s/^cn=([^,]+),.*$//p' < logfile > dumpfile
会给你你想要的。 (添加了仅用于打印匹配行的额外命令)
另外,寻找预建的LDAP解析器。