[RH134] 2-通配符与正则

1.通配符

通配符通常用于shell。git

1)经常使用符号 [] shell

"[]"中的字符只会匹配一个,例如:spa

ha[abc]llo   # 能够匹配到haallo、habllo、hacllo

或者使用[a-z]这种形式,表示abcd...xyz全部小写英文字母:code

ha[a-z]llo

除了[a-z]之外,还有[A-Z][0-9]等,表示一个范围,这个范围应该是根据ASCii码编号顺序来的。blog

若是要取反,则使用"^"或者"!",例如:it

ha[^a-z]lo  # [^a-z]匹配一个非小写字母的任意字符
ha[!0-9]lo  # [!0-9]匹配一个非数字的任意字符

注意,若是要匹配"-",则须要转义:class

ha[^a\-z]lo  # [^a\-z]匹配的是非a、-、z的其余字符,这里的-不表示范围,由于被转移为普通字符"-"

2)经常使用符号 ?英文

"?"表明一个任意字符。例如:di

ab?  # 只能匹配到abc、abx、ab3等,不能匹配到abcd、ab33等
ab??  # 只能匹配到ab3三、abcd等,不能匹配到ab3或abcfe等

即,一个"?"表示一个任意字符,若是须要多个,则重复使用"?"。co

3)经常使用符号 * 

"*"表示任意长度的任意字符,即0个或多个任意字符。例如:

aa*  # 能够匹配到aa开头的全部字符

4)几种经常使用字符分类符号

[[:upper:]]:匹配一个纯大写字母,至关于[A-Z]

[[:lower:]]:匹配一个纯小写字母,至关于[a-z]

[[:digit:]]:匹配一个纯数字,至关于[0-9]

[[:alpha:]]:匹配一个字母(大小写均可以),至关于[a-zA-Z]

[[:alnum:]]:匹配一个字母或数字(alpha+number),至关于[0-9a-zA-Z]

 

 

===

相关文章
相关标签/搜索