我有以下字符串:
cn=abcd,cn=groups,dc=domain,dc=com
Run Code Online (Sandbox Code Playgroud)
这里可以使用正则表达式在第一个之后和第一个cn=之前提取字符串,吗?在上面的例子中,答案应该是abcd.
Ken*_*ric 12
/cn=([^,]+),/
Run Code Online (Sandbox Code Playgroud)
大多数语言将比赛提取为$ 1或匹配[1]
如果由于某种原因不能使用下标,
$x =~ s/^cn=//
$x =~ s/,.*$//
Run Code Online (Sandbox Code Playgroud)
这是一个通过两个步骤完成它的方法.
如果你用sed从日志中解析它
sed -n -r '/cn=/s/^cn=([^,]+),.*$/\1/p' < logfile > dumpfile
Run Code Online (Sandbox Code Playgroud)
会得到你想要的.(添加额外命令仅打印匹配行)