Kei*_*itt 7 zsh regular-expression wildcards
有谁知道是否有办法将重复约束合并到 ZSH 通配符表达式中?
例如,要匹配所有以“ABC”开头且后跟一个或多个数字的文件,可以使用 grep one:
ls | grep -e "ABC[0-9]\+"
Run Code Online (Sandbox Code Playgroud)
有没有办法直接使用 ZSH glob 字符串来做到这一点?类似的东西:
ls "ABC[0-9]\+"
Run Code Online (Sandbox Code Playgroud)
我已经浏览了ZSH的文档并在 Google 上搜索了类似的内容,但到目前为止还没有找到任何此类支持。
有谁知道这是否可能?
是的,用于##匹配一个或多个[0-9]类似事件:
ABC[0-9]##
Run Code Online (Sandbox Code Playgroud)
这需要extendedglob设置,默认情况下。如果未设置,请先设置:
setopt extendedglob
Run Code Online (Sandbox Code Playgroud)
例子:
% print -l ABC*
ABC
ABC75475
ABC8
ABC90
% print -l ABC[0-9]##
ABC75475
ABC8
ABC90
Run Code Online (Sandbox Code Playgroud)