Linux Shell教程(二) 互动版

正规表示法总结

下表是正规表示法的语法总结

特殊字符 表示意义
^word 待搜寻的字符在行首
word$ 待搜寻的字符在行尾
. 匹配任何一个可能的字符
/ 跳脱符号将特殊字符变成普通字符
? 任何一个单一字符
* 匹配模式中重复的字符
[list] 列表中的字符
[range] 列表中范围内的字符
[^range] 反向选择,与 [list] 相反
/{n/} 与前一个相同字符连续 n 个
/{n,m/} 与前一个相同字浮连续 n-m 个

特别需要注意的是:正规表示法的特殊字符与一般在指令列输入指令的万用字符并不相同

例如,在万用字符当中, * 代表的是 0 ~ 无限多个字符的意思,但是在正规表示法当中, 则是重复前一个字符的意思。使用的意义并不相同,不要搞混了。

建议:使用规则表达式要养成良好的习惯,就是在匹配模式的两端加上单引号‘’。这样和shell的文件通配符号做区别。