这是一个我从未设法记住的基本正则表达式技术。假设我正在使用相当通用的正则表达式实现(例如,grep或grep -E)。如果我要做一个文件列表并在.sty
或.cls
中匹配任何结尾,我该怎么做?
ls | grep -E "\.(sty|cls)$"
\.
字面上匹配"."
- 未转义的.
匹配任何角色(sty|cls)
- 匹配"sty"
或"cls"
- |是一个or
和括号限制表达。$
迫使比赛在比赛的最后注意,你需要grep -E
或egrep
,而不是grep -e
,因为这是模式列表的不同选项。
egrep "\.sty$|\.cls$"
这个正则表达式: \(麦粒肿| CLS)\ž 将匹配任何字符串以.sty或.cls结尾 编辑: 对于grep \ z应该用$ ie \。(sty | cls)$替换为jelovirt建议。