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