首页 > 其他 > 详细

浅谈正则表达式

时间:2014-02-23 15:02:36      阅读:282      评论:0      收藏:0      [点我收藏+]

正则表达式又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

grep (global search regular expression=\‘#\‘" ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrepfgrep。这里仅对grep和egrep做简要示例。


基本格式:

grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

常用命令:


-v: 反向,显示不能被模式所匹配到的行;

-o: 仅显示被模式匹配到的字串,而非整行;

-i: 不区分字符大小写, ignore-case

-A #:之后的几行字符

-B:之前的几行字符

-n: 显示匹配行及行号,在显示出内容的每行前面会显示行数


基本格式:

“^”锚定行的开始 如:‘^grep‘匹配所有以grep开头的行。
“$”锚定行的结束 如:‘grep$‘匹配所有以grep结尾的行。
“.”匹配一个非换行符(‘\n‘)的字符如:‘gr.p‘匹配gr后接一个任意字符,然后是p。
“*”匹配零个或多个先前字符 如:‘ *grep‘ (注意*前有空格)匹配所有零个或多个空格后紧跟grep的行,需要用egrep 或者grep带上 -E 选项。 .*一起用代表任意字符。“
“[]”匹配一个指定范围内的字符,如‘[Gg]rep‘匹配Grep和grep。
“[^]”匹配一个不在指定范围内的字符,如:‘[^A-FH-Z]rep‘匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。
\(..\)”标记匹配字符,如‘\(love\)‘,love被标记为1。
“\<”锚定单词的开始,如:‘\<grep‘匹配包含以grep开头的单词的行。
“\>”锚定单词的结束,如‘grep\>‘匹配包含以grep结尾的单词的行。
“x\{m\}”重复字符x,m次,如:‘o\{5\}‘匹配包含5个o的行。
“x\{m,\”}重复字符x,至少m次,如:‘o\{5,\}‘匹配至少有5个o的行。
“x\{m,n\}”重复字符x,至少m次,不多于n次,如:‘o\{5,10\}‘匹配5--10个o的行。

“\w”匹配文字和数字字符,也就是[A-Za-z0-9],如:‘G\w*p‘匹配以G后跟零个或多个文字或数字字符,然后是p。

单词锁定符,如: ‘\bgrep\b‘只匹配grep。
用于egrep和 grep -E的元字符扩展集
“+”匹配一个或多个先前的字符。如:‘[a-z]+able‘,匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。
“?”匹配零个或一个先前的字符。如:‘gr?p‘匹配gr后跟一个或没有字符,然后是p的行。
“a|b|c”匹配a或b或c。如:grep|sed匹配grep或sed
“()”分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

x{m},x{m,},x{m,n}

[[:alnum:]] 匹配任何一个字母或数字([A-Za-z0-9])

[[:alpha:]] 匹配任何一个字母([A-Za-z])

[[:lower:]] 匹配任何一个小写字母([a-z])

[[:upper:]] 匹配任何一个大写字母([A-Z])

[[:space:]] 任何一个空白字符:制表符、空格

[[:punct:]] 任何一个标点符号(不包括:[:alnum:]、[:cntrl:]、[:space:]字符集)


egrep:egrep为grep的拓展形式,功能比grep强大。比如:grep 不支持 a|b (abc|xyz) 这类", 但是 egrep 支持. grep 在处理 {n,m} , 需用 \{ \} 处理, egrep 则不需.












浅谈正则表达式

原文:http://8577707.blog.51cto.com/8567707/1362214

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!