您的位置:首页 > 运维架构 > Shell

Shell 常识--正则表达式,POSIX字符类以及元字符--总结自《Linux Shell 脚本攻略》

2014-09-09 09:44 731 查看
正则表达式

1 正则表达式 描 述示 例
2^行起始标记^tux匹配以tux起始的行
3$行尾标记tux$匹配以tux结尾的行
4.匹配任意一个字符Hack.匹配Hack和Hacki,但是不能匹配Hackl2和Hackil,它只能匹配单个字符
5[ ]匹配包含在[字符]之中的任意一个字符 coo[ k l ] 匹配cook 或 cool
6[ ^ ]匹配除[^字符]之外的任意一个字符9 [ ^ 0 1 ]匹配92,93,但是不匹配91或90
7[ - ]匹配[ ]中指定范围内的任意一个字符[ 1- 5] 匹配1~5的任意一个数字
8?匹配之前的项1次或0次colou?r匹配color或colour,但是不能匹配colouur
9+匹配之前的项0次或多次Rollno-9+匹配Rollno-99,Rollno-9,但是不能匹配Rollno-
10*创建之前的项0次或多次co*l 匹配 cl,col ,cool等
11( )创建一个用于匹配的子串max(tri)?匹配max 或 maxtrix
12{ n }匹配之前的项n次[0-9] {3} 匹配任意一个三位数,[0-9] {3} 可以扩展为[0-9][0-9][0-9]
13{ n, }之前的项至少需要匹配n次[0-9]{2,}匹配任意一个两位或更多位的数字
14{ n,m }指定之前的项所需要匹配的最小次数和最大次数 [0-9]{2,5}匹配从两位数到五位数之间的任意一个数字

15|交替--匹配 | 两边的任意一项Oct (1st | 2nd) 匹配Oct 1st 或 Oct 2nd

16\转义符可以将上面介绍的特殊字符进行转义a \ . b匹配 a.b ,但不能匹配 ajb。通过在 . 之间加上前缀 \ ,从而忽略了 . 的特殊意义
POSIX字符类
正则表达式 描述 示例
[:alnum:]字母与数字字符[[:alnum:]]+
[:alpha:]字母字符(包括大写字母与小写字母)[[:alpha:]]{4}
[:blank:]空格与制表符[[:blank:]]*
[:digit:]数字字符[[:digit:]]?
[:lower:]小写字母[[:lower:]]{5,}
[:upper:]大写字母([[:upper:]]+)?
[:punct:]标点符号[[:punct:]]
[:space:]包括换行符、回车等在内的所有空白字符 [[:space:]]+
元字符

正则表达式描 述示 例
\b单词边界\bcool \b匹配cool,但不匹配 coolant
\B非单词边界cool \B匹配coolant,但不匹配cool
\d单个数字字符b\db 匹配b2b,但不匹配bcb
\D单个非数字字符b\Db 匹配bcb,但不匹配b2b
\w单个单词字符(字母,数字与_)\w匹配1或者a,但不匹配 &
\W单个非单词字符\W 匹配&,但不匹配1或a
\n换行符\n 匹配一个新行
\s单个空白字符x\sx匹配x x,但不匹配xx
\S单个非空白字符x\Sx匹配xkx,但不匹配xx
\r回车\r 匹配回车
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: