日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
解析Perl正則表達(dá)式用法

本文和大家重點(diǎn)討論一下Perl正則表達(dá)式的概念,Perl正則表達(dá)式有很多值得學(xué)習(xí)的地方,很多語言如Java設(shè)計(jì)正則式支持的時(shí)候都參考Perl正則表達(dá)式。本文介紹Perl正則表達(dá)式中最基本、最常用的部分。

創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都企業(yè)網(wǎng)站建設(shè)及推廣,對三維植被網(wǎng)等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。

Perl正則表達(dá)式初步

Perl語言的Perl正則表達(dá)式功能十分強(qiáng)大,基本上是常用語言中***大的,很多語言如Java設(shè)計(jì)正則式支持的時(shí)候都參考Perl正則表達(dá)式。本文介紹Perl正則表達(dá)式中最基本、最常用的部分。

一、Perl正則表達(dá)式運(yùn)算符

=~Perl正則表達(dá)式匹配運(yùn)算符,左邊是待匹配字符串,右邊是Perl正則表達(dá)式,匹配結(jié)果設(shè)置在$1,$2等變量中,在scaler上下文中,成功匹配返回匹配個(gè)數(shù),否則返回false。例如$var=~/foo/;
!~Perl正則表達(dá)式匹配運(yùn)算符,和=~不同的是它忽略匹配結(jié)果,且返回值相反。例如$var!~/foo/;

Perl正則表達(dá)式運(yùn)算符右邊是Perl正則表達(dá)式,有如下三種形式:

1.匹配模式m/pattern/igmsoxc

m表示match,pattern是正則式內(nèi)容,分隔符/可以用任意其他字符如#替換,igmsoxc是可選的參數(shù),意義如下:
i忽略大小寫
g匹配所有符合的(默認(rèn)是匹配***個(gè)符合的)
m多行模式,^和$分別匹配行的開始和結(jié)尾(默認(rèn)匹配字符串的開始和結(jié)尾)
s單行模式,“.”匹配“\n”(默認(rèn)不匹配)
ocompilepatternOnce
xeXtendedlegibility-freewhitespaceandcomments
cdon'tresetposonfailedmatcheswhenusing/g

2.存儲(chǔ)模式qr/pattern/imsox

qr將Perl正則表達(dá)式存儲(chǔ)到一個(gè)變量中,這樣可以反復(fù)使用,可選項(xiàng)意義與m相同

3.替換模式s/pattern/replacement/igmsoxe

s代表substitutes,將匹配的模式pattern替換為replacement,多了一個(gè)可選項(xiàng):
e將replacement作為一個(gè)表達(dá)式執(zhí)行

4.一次性匹配模式?pattern?

和m/pattern/相同,但是只進(jìn)行一次匹配,?不能用其他分隔符替換

二、Perl正則表達(dá)式中基本語法元素

\字符轉(zhuǎn)義
.匹配除\n外的任意字符
^匹配行或字符串開頭
$匹配行或字符串結(jié)尾
*0個(gè)或多個(gè)
+1個(gè)或多個(gè)
?0個(gè)或1個(gè)
{...}指定個(gè)數(shù)
[...]字符類,匹配括號(hào)中的任意一字符
(...)匹配組,匹配后可以用$1,$2等獲取相應(yīng)的匹配組
(?:...)聚集,匹配后不能$1,$2等獲取相應(yīng)的匹配組,速度會(huì)快些
|前者或后者,一般和括弧配合使用
\1,\2...正則式中反引用匹配組

三、Perl正則表達(dá)式中常見轉(zhuǎn)義字符

\aAlarm(beep)

詳細(xì)出處參考:http://www.itqun.net/content-detail/93504.html

 
 
 
  1. \eEscape  
  2. \fFormfeed  
  3. \nNewline  
  4. \rCarriagereturn  
  5. \tTab  
  6. \037AnyoctalASCIIvalue  
  7. \x7fAnyhexadecimalASCIIvalue  
  8. \x{263a}Awidehexadecimalvalue  
  9. \cxControl-x  
  10. \N{name}Anamedcharacter  
  11.  
  12. \lLowercasenextcharacter  
  13. \uTitlecasenextcharacter  
  14. \LLowercaseuntil\E  
  15. \UUppercaseuntil\E  
  16. \QDisablepatternmetacharactersuntil\E  
  17. \EEndcasemodification  
  18. \bwordboudariy  
  19.  

 

四、Perl正則表達(dá)式中字符類

[...]匹配括號(hào)中的任意一個(gè)字符,但是當(dāng)***個(gè)字符是^時(shí)是相反的,匹配除了括號(hào)中的字符外的任意字符。另外還有a-z這樣的簡寫方式代替a到z的所有字符。例如:
 

 
 
 
  1. [amy]Match'a','m'or'y'  
  2. [f-j]Dashspecifies"range"  
  3. [f-j-]Dashescapedoratstartorendmeans'dash'  
  4. [^f-j]Caretindicates"matchanycharacter_except_these"  

 

一些字符類有更簡單的表達(dá)方式,如:
 

 
 
 
  1. \dAdigit[0-9]  
  2. \DAnondigit[^0-9]  
  3. \wAwordcharacter[a-zA-Z0-9_]  
  4. \WAnon-wordcharacter[^a-zA-Z0-9_]  
  5. \sAwhitespacecharacter[\t\n\r\f]  
  6. \SAnon-whitespacecharacter[^\t\n\r\f]  

標(biāo)題名稱:解析Perl正則表達(dá)式用法
網(wǎng)頁路徑:http://www.dlmjj.cn/article/djsshji.html