正则表达式
正则表达式一些元字符的意义
*: 0个或多个在*字符之前的那个普通字符
.: 匹配任意字符
^: 匹配行首,或后面字符的非
$: 匹配行尾
[]: 匹配字符集合
\: 转义符,屏蔽一个元字符的特殊意义
\<\> :精确匹配符号
\{n\} :匹配前面字符出现n次
\{n\} :匹配前面字符至少出现n次
\{n,m\} :匹配前面字符出现n~m次
空字符串:^$
包含一个字符的行:^.$
所有英文单词:[A-Za-z][A-Za-z]*
^在[]中表示取反:[^b-d] 包含b-d外的所有字符
\<sqy\>:该表达式利用\屏蔽<、>,精确匹配sqy,不匹配含有the这个字符串的单词
[a-z]\{5\}:精确匹配5个小写字母
通配符
bash shell本身不支持正则表达式,使用正则表达式的是shell的命令和工具,如:grep\sed\awk等,但bash shell可以使用正则表达式中的一些元字符实现通配功能。但是元字符在通配中的意义与在正则表达式中的意义不完全一致,?表示一个任意字符,*符号表示任意个任意字符,^表示取反。。。