正则表达式与sed工具
2016-02-02 10:14
309 查看
1、正则表达式
通俗来讲,正则表达式是一种字符串的匹配方式,比如使用星号“*”来匹配任意的字符等。正则表达式实际上是一个匹配模板,当bash执行这个正则表达式时,就会将所有的输入数据与匹配模板匹配,匹配不成功的数据将会被过滤掉。表1.常用的元字符
字符 | 含义 | 举例 |
. | 匹配除换行符以外的任意字符 | \bhi\b.*\bLucy\b |
\w | 匹配字母或数字或下划线或汉字 | \bhe\w |
\s | 匹配任意的空白符(包括空格制表符换页符) | |
\b | 匹配单词的开始或结束 | \bhi\b |
^ | 匹配字符串的开始 | ^g.*d$ |
$ | 匹配字符串的结束 | grep ‘d$’ test.ini |
字符 | 含义 | 举例 |
* | 重复零次或更多次 | grep ‘o*’tet.ini |
+ | 重复一次或更多次 | [0-9]+匹配1个或更多的数字 |
? | 重复零次或一次 | |
{n} | 重复n次 | ^9{2}$ |
{n,} | 重复n次或更多次 | |
{n,m} | 重复n到m次 |
/语法 | 说明 |
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
字符 | 含义 | 举例 |
{n,m} | 等同于基本正则表达式的\{n,m\} | egrep ‘9{1,3}–n ’ tmp |
? | 匹配前面一个字符出现零次或一次 | egrep ‘go+d–n ’ tmp egrep ‘(n|f)tp 相关文章推荐
|