您的位置:首页 > 其它

正则表达式与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
表2.常用的限定符

字符
含义
举例
*
重复零次或更多次
grep ‘o*’tet.ini
+
重复一次或更多次
[0-9]+匹配1个或更多的数字
?
重复零次或一次
{n}
重复n次
^9{2}$
{n,}
重复n次或更多次
{n,m}
重复n到m次
表3.常用的反义代码

/语法 说明
\W
匹配任意不是字母,数字,下划线,汉字的字符
\S
匹配任意不是空白符的字符
\B
匹配不是单词开头或结束的位置
[^x]
匹配除了x以外的任意字符
[^aeiou]
匹配除了aeiou这几个字母以外的任意字符
表4.扩展正则表达式

字符
含义
举例
{n,m}
等同于基本正则表达式的\{n,m\}
egrep ‘9{1,3}–n ’ tmp

匹配前面一个字符出现零次或一次
egrep ‘go+d–n ’ tmp
egrep ‘(n|f)tp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: