这个答案建议grep -P支持(?:pattern)语法,但它似乎对我不起作用(该组仍然被捕获并显示为匹配的一部分).我错过了什么吗?
我正在尝试grep -oP "(?:syntaxHighlighterConfig\.)[a-zA-Z]+Color" SyntaxHighlighter.js使用此代码,并期望结果如下:
wikilinkColor
externalLinkColor
parameterColor
...
Run Code Online (Sandbox Code Playgroud)
但相反,我得到:
syntaxHighlighterConfig.wikilinkColor
syntaxHighlighterConfig.externalLinkColor
syntaxHighlighterConfig.parameterColor
...
Run Code Online (Sandbox Code Playgroud)
Ken*_*ent 60
"非捕获"并不意味着该组不是比赛的一部分; 这意味着不会保存组的值以用于反向引用.您正在寻找的是一个后视零宽度断言:
grep -Po "(?<=syntaxHighlighterConfig\.)[a-zA-Z]+Color" file
Run Code Online (Sandbox Code Playgroud)