码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2014-05-03 14:39:22      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:正则表达式

一、grep的用法:

grep:golobally search for a regular expression and print the results

1,作用:

Linux中grep的功能就是进行字符串数据的对比,然后将符合用户需求的字符串打印出来。

2,格式:

grep [options]

3,常见参数:

. :任意单个字符;

*:紧挨在其前面的字符任意次,可以为0;

^:锚定行首的符合条件的内容;

$:锚定行尾的符合条件的内容;

[ ]:匹配任意单个字符;

[^]:匹配指定范围外的任意单个字符;

-v:反向选取,只显示不符合模式的行;

-o:只显示被模式匹配到的字符串,而不是整个行;

-i:不区分字符大小写;

\< 从匹配正则表达式的行开始;

\>; 到匹配正则表达式的行结束;

还有很多很多,在这就不一一列举了,对于其他参数的用法以及含义,请找男人(man)来解决。


4,实例:

为了方便区别,我们将grep匹配到的字符红色高亮显示,并用命令别名命名:

alias grep="grep --color=auto"

bubuko.com,布布扣

1.grep “^s”/etc/passwd     显示文件passwd中以s开头的文件;

bubuko.com,布布扣

2.grep “h$” /etc/passwd   显示文件passwd中以h结尾的文件:

bubuko.com,布布扣

3.grep –i “s” /etc/passwd  显示文件passwd文件中,以S或s的文件;

bubuko.com,布布扣

4.grep "[^a-zA-Z]" /etc/passwd 匹配除字母外的任意单个字符;

bubuko.com,布布扣

还有一些特殊符号,帮助我们更好更准确的定义参数:

[:alnum:] 表示所有的英文字母包括大小写,以及数字等同于0-9,a-z,A-Z

[:alpha:] 表示大小写英文字母,等同于a-z,A-Z

[digit:]表示数字,等同于0-9

[:lower:]表示小写字母,等同于a-z

[:punct:]表示标点符号,如:‘,?%$#

[:upper:]表示大写字母,等同于A-Z

[:space:]表示空白字符


需要注意的是调用这些特殊字符:

例如: grep “[[:upper:]]”/etc/passwd  显示文件passwd中有任意大写字母的文件

bubuko.com,布布扣


调用特殊字符时需要加”[  ]“,因为[:upper:]整个字符代表的是大写字母,再调用就需要”[]“

grep还有很多参数以及各种用法在这就不再一一阐述。

二、egrep

扩展的正则表达只是在基本的正则表达上作出了小小的一点修改,其修改如下:

在扩展的正则表达中把\( \) 写成()、\{ \} 写成{ },另外加入了+:次数匹配,匹配其前面的字符至少出现一次,无上限、|: 或者(二取一),其余的都一样, 基本正则表达式,使用( ) { } . ? |都需要转义,在扩展正则表达中不需要加\,其详细信息如下:

* :匹配其前面字符的任意次;


?:匹配其前面字符的0此或者1次;


+ :匹配其前面字符至少1次;

例如:至少一个空白符: ‘[[:space:]]+‘


{m,n} :匹配其前面字符至少m最多n次;


三、fgrep

fgrep命令等同于grep -F,它利用固定的字符串来对文本进行搜索,但不支持正则表达式的引用,所以此命令的执行速度也最快。


本文出自 “菜鸟” 博客,请务必保留此出处http://magine356wj.blog.51cto.com/2664956/1405617

正则表达式,布布扣,bubuko.com

正则表达式

标签:正则表达式

原文地址:http://magine356wj.blog.51cto.com/2664956/1405617

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!