- TEL:131 7970 3111
-
慧網(wǎng)微信
- 掃描二維碼
- 關(guān)注邳州在線
-
手機(jī)網(wǎng)站
- 手機(jī)掃描二維碼
- 進(jìn)入手機(jī)站
網(wǎng)站地圖
付款方式
Perl語言的文字處理模式之一
Perl語言的文字處理模式(Regular Expression)
如果在Unix中曾經(jīng)使用過sde、awk、grep這些指令的話,相信對于Perl語言中的文字處理模式(Regular Expression) 應(yīng)該不會感到陌生才對。在Perl語言中因為有這個功能,所以對于字符串的處理能力是非常強(qiáng)有力的。Regular Expression可視為用來處理字符串的一種模式(pattern),其使用的格式為/pattern/。在Perl語言的程序設(shè)計中,經(jīng)?梢钥吹玫筋愃普Z法的應(yīng)用,在CGI程序設(shè)計中也不例外。只要能夠善用文字處理模式的話,要處理任何難的字 符串皆可迎刃而解,在本章中筆者會用深入淺出的方式來介紹Regufar Expression的用法。
一、文字處理(RegularExpression)的常用語法
以下是文字處理模式中,/pattern/常用到的語法:
/pattern/ 說明除了換行字符/n外,找尋只有一個字符的字符串 x? 找尋0個或是1個x字符 x* 找尋0個或是0個以上的x字符 .* 找尋0個或是0個以上的任何字符 x+ 找尋1個或是1個以上的x字符 .+ 找尋1個或是1個以上的任何字符 {m} 找尋剛好是m各個數(shù)指定的字符 {m,n}找尋在m個個數(shù)以上、n個個數(shù)以下指定的字符 {m,} 找尋m個個數(shù)以上指定的字符 [] 找尋符合[]內(nèi)的字符 [^] 找尋不符合[]內(nèi)的字符 [0-9] 找尋符合0到9的任何一個字符[a-z] 找尋符合a到z的任何一個字符 [^0-9] 找尋不符合0到9的任何一個字符 [^a-z]找尋不符合a到z的任何一個字符 ^ 找尋字符串開頭的字符 $ 找尋字符串結(jié)尾的字符 d找尋一個digit(數(shù)字)的字符,和[0-9]語法一樣 d+ 找尋一個digit(數(shù)字)以上的字符串,和[0-9]+語法一樣 D 找尋一個non-digit(非數(shù)字)的字符,和[^0-9]語法一樣 D+ 找尋一個non-digit(非數(shù)字)以上的字符串,和[^0-9]+語法一樣 w 找尋一個英文字母或是數(shù)值的字符,和[a-zA-Z0-9]語法一樣 w+ 找尋一個以上英文字母或是數(shù)值的字符串,和[a-zA-Z0-9]+語法一樣 W 找尋一個非英文字母或是數(shù)值的字符,和[^a-zA-Z0-9]語法一樣 W+ 找尋一個以上非英文字母或是數(shù)值的字符串,和[^a-zA-Z0-9]+語法一樣 s 找尋一個空白的字符,和[ntrf]一樣 s+ 找尋一個以上空白的字符,和[ntrf]+一樣S 找尋一個非空白的字符,和[^ntrf]一樣 S+ 找尋一個以上非空白的字符,和[^ntrf]+一樣 b 找尋一個不以英文字母、數(shù)值為邊界的字符串 B 找尋一個以英文字母、數(shù)值為邊界的字符串 a|b|c 找到符合a字符或是b字符或是c字符的字符串 abc找到一個含有abc的字符串 (pattern)。
()這個符號會記憶所找尋到的字符串,是一個很實用的語法 個()內(nèi)所找到的字符串變成$1這個變量或是1變量 第二個()內(nèi)所找到的字符串變成$2這個變量或是2變量 以此類推,筆者會在下一個小節(jié)中詳細(xì)介紹它的用法/pattern/i i這個參數(shù)是代表忽略英文大小謝的意思,也是在找尋字符串的時候,不會去考慮英文的大小寫 如果要在pattern模式中找尋一個有特殊意義的字符,要在這個字符前加上這個符號,這樣才會讓這個特殊字符失效。