正则表达式以匹配唯一的子字符串
时间:2020-03-05 18:46:18 来源:igfitidea点击:
这是我从未想过的基本正则表达式技术。假设我使用的是相当通用的regex实现(例如grep或者grep -E)。如果要列出文件并匹配以.sty或者.cls结尾的文件,我该怎么做?
解决方案
回答
egrep "\.sty$|\.cls$"
回答
此正则表达式:
\。(sty | cls)\ z
将匹配任何以.sty或者.cls结尾的字符串
编辑:
对于grep \ z应该用$代替
\。(sty | cls)$
如耶洛韦建议。
回答
ls | grep -E "\.(sty|cls)$"
\ .
字面上匹配一个"。"
-一个未转义的.
匹配任何字符(sty | cls)
-匹配" sty"
或者" cls"
-the |是一个"或者",并且方括号限制了表达式。- $强制匹配在行尾
注意,我们需要grep -E
或者egrep
,而不是grep -e
,因为这是模式列表的另一种选择。