本文和大家重点讨论一下Perl正则表达式的概念,Perl正则表达式有很多值得学习的地方,很多语言如Java设计正则式支持的时候都参考Perl正则表达式。本文介绍Perl正则表达式中最基本、最常用的部分。

创新互联公司10多年成都企业网站建设服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都企业网站建设及推广,对三维植被网等多个领域拥有丰富的网站推广经验的网站建设公司。
Perl正则表达式初步
Perl语言的Perl正则表达式功能十分强大,基本上是常用语言中***大的,很多语言如Java设计正则式支持的时候都参考Perl正则表达式。本文介绍Perl正则表达式中最基本、最常用的部分。
一、Perl正则表达式运算符
=~Perl正则表达式匹配运算符,左边是待匹配字符串,右边是Perl正则表达式,匹配结果设置在$1,$2等变量中,在scaler上下文中,成功匹配返回匹配个数,否则返回false。例如$var=~/foo/;
 !~Perl正则表达式匹配运算符,和=~不同的是它忽略匹配结果,且返回值相反。例如$var!~/foo/;
Perl正则表达式运算符右边是Perl正则表达式,有如下三种形式:
1.匹配模式m/pattern/igmsoxc
m表示match,pattern是正则式内容,分隔符/可以用任意其他字符如#替换,igmsoxc是可选的参数,意义如下:
 i忽略大小写
 g匹配所有符合的(默认是匹配***个符合的)
 m多行模式,^和$分别匹配行的开始和结尾(默认匹配字符串的开始和结尾)
 s单行模式,“.”匹配“\n”(默认不匹配)
 ocompilepatternOnce
 xeXtendedlegibility-freewhitespaceandcomments
 cdon'tresetposonfailedmatcheswhenusing/g
2.存储模式qr/pattern/imsox
qr将Perl正则表达式存储到一个变量中,这样可以反复使用,可选项意义与m相同
3.替换模式s/pattern/replacement/igmsoxe
s代表substitutes,将匹配的模式pattern替换为replacement,多了一个可选项:
 e将replacement作为一个表达式执行
4.一次性匹配模式?pattern?
和m/pattern/相同,但是只进行一次匹配,?不能用其他分隔符替换
二、Perl正则表达式中基本语法元素
\字符转义
 .匹配除\n外的任意字符
 ^匹配行或字符串开头
 $匹配行或字符串结尾
 *0个或多个
 +1个或多个
 ?0个或1个
 {...}指定个数
 [...]字符类,匹配括号中的任意一字符
 (...)匹配组,匹配后可以用$1,$2等获取相应的匹配组
 (?:...)聚集,匹配后不能$1,$2等获取相应的匹配组,速度会快些
 |前者或后者,一般和括弧配合使用
 \1,\2...正则式中反引用匹配组
三、Perl正则表达式中常见转义字符
\aAlarm(beep)
详细出处参考:http://www.itqun.net/content-detail/93504.html
- \eEscape
 - \fFormfeed
 - \nNewline
 - \rCarriagereturn
 - \tTab
 - \037AnyoctalASCIIvalue
 - \x7fAnyhexadecimalASCIIvalue
 - \x{263a}Awidehexadecimalvalue
 - \cxControl-x
 - \N{name}Anamedcharacter
 - \lLowercasenextcharacter
 - \uTitlecasenextcharacter
 - \LLowercaseuntil\E
 - \UUppercaseuntil\E
 - \QDisablepatternmetacharactersuntil\E
 - \EEndcasemodification
 - \bwordboudariy
 
四、Perl正则表达式中字符类
[...]匹配括号中的任意一个字符,但是当***个字符是^时是相反的,匹配除了括号中的字符外的任意字符。另外还有a-z这样的简写方式代替a到z的所有字符。例如:
  
- [amy]Match'a','m'or'y'
 - [f-j]Dashspecifies"range"
 - [f-j-]Dashescapedoratstartorendmeans'dash'
 - [^f-j]Caretindicates"matchanycharacter_except_these"
 
一些字符类有更简单的表达方式,如:
  
- \dAdigit[0-9]
 - \DAnondigit[^0-9]
 - \wAwordcharacter[a-zA-Z0-9_]
 - \WAnon-wordcharacter[^a-zA-Z0-9_]
 - \sAwhitespacecharacter[\t\n\r\f]
 - \SAnon-whitespacecharacter[^\t\n\r\f]
 
                本文名称:解析Perl正则表达式用法
                
                本文来源:http://www.csdahua.cn/qtweb/news21/236171.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网