Perl正则表达式例子】的更多相关文章

Perl正则表达式 一.介绍 正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配:由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则的相关内容,方便后期查阅. 二.正则元字符 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 后向引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则…
perl正则表达式就是通过一串特别设计的字符串,可以按照我们的需求匹配.替换.转化目标字符串.本文主要是对一些常用的正则表达以及语法的总结以及举例,供广大喜爱Perl的同学交流学习. 操作符: =~ 或 != 分别表示匹配与不匹配 $regx = "perl"; $string = "I like perl"; if ($string =~ $regx){ print "match";} 匹配.替换.转化 匹配:m/<regexp>/…
1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex  e1(my_expression); boost::regex  e2(my_expression,  boost::regex::perl  |  boost::regex::icase); 2. 特殊字符 . [ { ( ) \ * + ? | ^ $ 3. 通配符 ‘ .’ 在字符集之外使用时可以匹配任意单字符,除了以下两种特殊情况: (1)NU…
正则引擎的分类 正则引擎的分类 正则引擎的分类主要分两种: DFA:egrep.awk.lex.flex NFA:.NET.PHP.Perl.Ruby.Python.GNU Emacs.ed.sec.vi.grep等 NFA的历史比DFA久一点,但两种引擎都发展了20多年,产生了很多变体,POSIX的出现就是为了规范这种现象.POSIX不但规定了元字符的特性,而且规定了正则表达式应该用什么样的方式运作. DFA符合POSIX的标准,但NFA如果要符合POSIX标准,就要作出相应的修改 所以引擎可…
1.使用正则表达式修改文本 1.使用正则表达式修改文本 正则表达式的功能不只有查询,还可以对文本进行修改,例如替换 $var=~m/regex/i $var=~s/regex/replacement/i Replacement两侧的斜杠相当于双引号,也就是说replacement中可以有$1,$2这样的变量来代表前面匹配到的内容 用$var=~s/regex/replacement/可以改变$var中的文本,如果没有匹配成功,就不会有文本的替换 $var=Jeff frield;$var=~s/…
前言 想必学习perl的人,对基础正则表达式都已经熟悉,所以学习perl正则会很轻松.这里我不打算解释基础正则的内容,而是直接介绍基础正则中不具备的但perl支持的功能.关于基础正则表达式的内容,可参阅基础正则表达式. 另外,本系列只介绍匹配操作,关于内容替换,因为和学习使用perl正则并无多大关系,所以替换相关的将在下一篇文章单独解释. 这里推荐一个学正则非常好的资料:stackflow上关于各种语言(perl/python/.net/java/ruby等等)的正则的解释.示例,这里收集的都是…
匹配:m/<regexp>;/ (还可以简写为 /<regexp>;/ ,略去 m)替换:s/<pattern>;/<replacement>;/转化:tr/<pattern>;/<replacemnt>;/这三种形式一般都和 =~ 或 !~ 搭配使用(其中 "=~" 表示相匹配,在整条语句中读作 does,"!~" 表示不匹配,在整条语句中读作 doesn't),并在左侧有待处理的标量变量.如…
正则表达式基础 ^ 行首标志 $ 行末标志 如^cat即一整行只有cat这个单词,^则是一个空行 [  ] 字符组,用来匹配若干字符之一 如gr[ae]y,即grey或者gray - 在字符组内部,字符组元字符'-'(连字符)表示一个范围(前提是不在字符组开头) 如<H[123456]>和<H[1-6]>是一样的.而[0-9] [a-z] [A-Z]分别用于匹配所有数字.小写字母和大写字母,还可以写成多重范围[]0-9a-zA-Z] 注意,只有在字符组中,'-'才是元字符,其他情况…
一.用m//进行匹配 上篇用双斜线的写法表示模式,事实上是m//的简写,所谓简写,就是当用双斜线作为定界符的时候,可有省略开头的m. 不使用简写的时候,可以使用任何定界符表示模式,m().m<>.m!!等等 二.模式匹配修饰符 perl的模式匹配修饰符,有时也叫flag,是追加在模式表达式末尾定界符后面的字母,用来改变默认的行为 /i  进行大小写无关的匹配 /s 匹配任意字符,会将模式中的点号转换成字符集[\d\D]来处理,使其匹配任何字符,包括换行 /x 插入空白符,可有在模式中插入空白,…
1.正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式.正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 .在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容 .许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的在正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和…