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

正则表达式(2)

时间:2016-05-14 21:31:46      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

 

egrep是返回的是匹配的位置,而不是匹配字符串本身。egrep返回在检查正则表达式之前会把换行符给去掉

 

如果是匹配一些与元字符相同的字符,但是要使他没有特殊意义,则要用"\"放在这些字符的前面,才能表示一般含义

 

^pepple --表示匹配以people行开头的   $people---表示匹配以people行开头的   [^....]----匹配除括号内容里以外的

 

元字符:"." 可以匹配任意字符的字符组简写  如要匹配09-02-1或09.02.1或09/02/01

  正则表达式  “09[- . /]02[- . /]01”   其中[- . /]这里面的符号不是元字符,因为在字符组内部   

  正则表达式  “09.02.01”这和上面的正则表达式一个意思,此时的“.”表示元字符,能匹配任意字符

 

“|”表示或的意思  

例如:gr(e|a)y即可匹配grey 又可以匹配gray

 

egrep的命令参数行“-i”表示进行忽略大小写的匹配

egrep-i"^(From|subject|date):"   -i写在正则表达式的前面

 

egrep "/<"匹配的是单词的开头,“/>”匹配单词的结尾:期望匹配的单词在在另一个但这次之中

egrep“/<cat/>”以cat开始  并以cat结尾结尾的单词,

 

技术分享

?表示可选项

例如匹配color和colour的匹配,可写成“(colou?r)”  这个u是可选或者可不选

 

+ 表示紧邻的元素出现一次或多次,* 表示之前紧邻的元素出现任意多次或者不出现

例如:匹配14

可用  "[0-9]+"

技术分享

 

括号及反向应用

括号的三种用途:1)限制多选项的范围   2)将若干字符组合为一个单元,受问号或星号之类量词的作用  3)用于反向引用

egrep的反向引用

例如:我们要匹配一个任意的单词,接下来要检查后面的单词是否和它一样

正则表达式:\<([A-Za-z]+)*+\1\> 表示的以第一个匹配的单词开始,到最后一个出现和第一个单词一样的单词结束。  "\1" "\2" "\3"等来表示第一,第二,第三组括号匹配的文本。

“([a-z])([0-9])\1\2”。括号是按照开括号“(”从左至右的出现顺序进行的,所以\1([a-z])  代表\2([0-9])

 

正则表达式(2)

标签:

原文地址:http://www.cnblogs.com/yupeter007/p/5493306.html

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