![PHP教程正則表達式_第1頁](http://file4.renrendoc.com/view/89ba7cb045e8d4be6b0ec5a5b9e981f3/89ba7cb045e8d4be6b0ec5a5b9e981f31.gif)
![PHP教程正則表達式_第2頁](http://file4.renrendoc.com/view/89ba7cb045e8d4be6b0ec5a5b9e981f3/89ba7cb045e8d4be6b0ec5a5b9e981f32.gif)
![PHP教程正則表達式_第3頁](http://file4.renrendoc.com/view/89ba7cb045e8d4be6b0ec5a5b9e981f3/89ba7cb045e8d4be6b0ec5a5b9e981f33.gif)
![PHP教程正則表達式_第4頁](http://file4.renrendoc.com/view/89ba7cb045e8d4be6b0ec5a5b9e981f3/89ba7cb045e8d4be6b0ec5a5b9e981f34.gif)
![PHP教程正則表達式_第5頁](http://file4.renrendoc.com/view/89ba7cb045e8d4be6b0ec5a5b9e981f3/89ba7cb045e8d4be6b0ec5a5b9e981f35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PHP正那么表達式正那么表達式根本概念正那么表達式語法規(guī)那么PCRE(Perl)兼容正那么表達式函數(shù)POSIX擴展正那么表達式函數(shù)2.正那么表達式簡介正那么表達式是用于描述字符排列和匹配模式的一種語法規(guī)那么。它主要用于字符串的模式分割、匹配、查找及替換操作。到目前為止,我們前面所用過的精確〔文本〕匹配也是一種正那么表達式。在PHP中,正那么表達式一般是由正規(guī)字符和一些特殊字符〔類似于通配符〕聯(lián)合構成的一個文本模式的程序性描述。3.正那么表達式簡介在PHP中有兩套正那么表達式函數(shù)庫,兩者功能相似,只是執(zhí)行效率略有差異:一套是由PCRE〔PerlCompatibleRegularExpression〕庫提供的。使用“preg_〞為前綴命名的函數(shù);一套由POSIX〔PortableOperatingSystemInterfaceofUnix〕擴展提供的。使用以“ereg_〞為前綴命名的函數(shù);使用正那么表達式的原因之一,是在典型的搜索和替換操作中,只能對確切文字進行匹配,對象動態(tài)文本的搜索就有困難了,甚至是不可能的。舉例:想一想這兩個正那么表達式做什么用?/^-?\d+$|^-?0[xX][\da-fA-F]+$//^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+){0,3}$/4.正那么表達式較重要和較有用的角色是驗證用戶數(shù)據(jù)的有效性檢查。PHP中,正那么表達式有三個作用:匹配,也常常用于從字符串中析取信息。用新文本代替匹配文本。將一個字符串拆分為一組更小的信息塊。5.PCRE正那么表達式PCRE全稱為PerlCompatibleRegularExpression,意思是Perl兼容正那么表達式。PCRE來源于Perl語言,而Perl是對字符串操作功能最強大的語言之一,PHP的最初版本就是由Perl開發(fā)的產品。PCRE語法支持更多特性,比POSIX語法更強大,實現(xiàn)相同的功能函數(shù),使用PCRE庫的效率略占優(yōu)勢。但是它們也有很多相同點。在PCRE中,通常將模式表達式〔即正那么表達式〕包含在兩個反斜線“/〞之間,如“/apple/〞。用戶只要把需要匹配的模式內容放入定界之間即可。作為定界的字符也不僅僅局限于“/〞。除了字母、數(shù)字和斜線“\〞以外的任何字符都可以作為定界符,像“#〞、“/〞、“!〞等都可以的。6.正那么表達式的語法規(guī)那么正那么表達式主要組成:原子〔普通字符,如英文字符〕元字符〔有特殊功用的字符〕模式修正字符〔對正那么表達式語義的修正〕一個正那么表達式中至少包含一個原子。7.原子(Atom)原子是組成正那么表達式的根本單位,在分析正那么表達式時,應作為一個整體。原子字符包括所有的英文字母、數(shù)字、標點符號以及其他一些符號。原子也包括以下內容。單個字符、數(shù)字,如a~z,A~Z,0~9。模式單元,如〔ABC〕可以理解為由多個原子組成的大的原子。原子表,如[ABC]。重新使用的模式單元,如:\\1普通轉義字符,如:\d,\D,\w轉義元字符,如:\*,\.8.普通轉義字符原子 說明---------------------------------------------------------------------------------\d 匹配一個數(shù)字;等價于[0-9]\D 匹配除數(shù)字以外任何一個字符;等價于[^0-9]\w 匹配一個英文字母、數(shù)字或下劃線;等價于[0-9a-zA-Z_]\W 匹配除英文字母、數(shù)字和下劃線以外任何一個字符;等價于[^0-9a-zA-Z_]\s 匹配一個空白字符;等價于[\f\n\r\t\v]\S 匹配除空白字符以外任何一個字符;等價于[^\f\n\r\t\v]\f 匹配一個換頁符等價于\x0c或\cL\n 匹配一個換行符;等價于\x0a或\cJ\r 匹配一個回車符等價于\x0d或\cM\t 匹配一個制表符;等價于\x09\或\cl\v 匹配一個垂直制表符;等價于\x0b或\ck\oNN 匹配一個八進制數(shù)字\xNN 匹配一個十六進制數(shù)字\cC 匹配一個控制字符9.元字符(Meta-character)元字符是用于構造規(guī)那么表達式的具有特殊含義的字符。如果要在正那么表達式中包含元字符本身,必須在其前加上〞\〞進行轉義 元字符 說明* 0次、1次或屢次匹配其前的原子+ 1次或屢次匹配其前的原子? 0次或1次匹配其前的原子| 匹配兩個或多個選擇^或\A 匹配字符串串首的原子$或\Z 匹配字符串串尾的原子\b 匹配單詞的邊界\B 匹配除單詞邊界以外的局部[] 匹配方括號中的任一原子[^] 匹配除方括號中的原子外的任何字符{m} 表示其前原子恰好出現(xiàn)m次{m,n} 表示其前原子至少出現(xiàn)m次,至少出現(xiàn)n次(n>m){m,} 表示其前原子出現(xiàn)不少于m次() 整體表示一個原子. 匹配除換行之外的任何一個字符10.字符串邊界限制在某些情況下,需要對匹配范圍進行限定,以獲得更準確的匹配結果?!癪〞和“$〞分別指定字符串的開始和結束。例如,在字符串“TomandJerrychasedeachotherinthehouseuntiltom’suncelcomein〞中元字符“^〞或“\A〞置于字符串的開始確保模式匹配出現(xiàn)在字符串首端;/^Tom/元字符“$〞或“\Z〞置于字符串的結束,確保模式匹配出現(xiàn)字符串尾端。/in$/ 如果不加邊界限制元字符,將獲得更多的匹配結果。/^Tom$/精確匹配 /Tom/模糊匹配11.單詞邊界限制在使用各種編輯軟件的查找功能時,可以通過選擇“按單詞查找〞獲得更準確的結果。正那么表達式中也提供類似的功能。例如:在字符串“Thisislandisabeautifulland〞中元字符“\b〞對單詞的邊界進行匹配;/\bis\b/ 匹配單詞“is〞,不匹配“This〞和“island〞。/\bis/ 匹配單詞“is〞和“island〞中的“is〞,不匹配“This〞元字符“\B〞對除單詞邊界以外的局部進行匹配。/\Bis\B/ 將明確的指示不與單詞的左、右邊界匹配,只匹配單詞的內部。所以在這個例子中沒有結果。/\Bis/ 匹配單詞“This〞中的“is〞12.重復匹配正那么表達式中有一些用于重復匹配某些原子的元字符:“?〞、“*〞、“+〞。他們主要的區(qū)別是重復匹配的次數(shù)不同。元字符“?〞:表示0次或1次匹配緊接在其前的原子。例如:/colou?r/匹配“colour〞或“color〞。元字符“*〞:表示0次、1次或屢次匹配緊接在其前的原子。例如:/zo*/可以匹配z、zoo元字符“+〞:表示1次或屢次匹配緊接在其前的原子。例如:/go+gle/匹配“gogle〞、“google〞或“gooogle〞等中間含有多個o的字符串。13.
任何一個字符元字符“.〞匹配除換行符外任何一個字符,相當于[^\n](Unix系統(tǒng))或[^\r\n](windows系統(tǒng))。例如:/pr.y/可以匹配的字符串“prey〞、“pray〞或“pr%y〞等。通常可以使用“.*〞組合來匹配除換行符外的任何字符。在一些書籍中也稱其為“全匹配符〞或“單含匹配符〞。例如:/^a.*z$/表示可以匹配字母“a〞開頭,字母“z〞結束的任意不包括換行符的字符串。/.+/也可以完成類似的匹配功能所不同的是其至少匹配一個字符。/^a.+z$/匹配“a%z〞不匹配字符串“az〞。14.重復匹配元字符“{}〞準確地指定原子重復的次數(shù),指定所匹配的原子出現(xiàn)的次數(shù)?!皗m}〞表示其前原子恰好出現(xiàn)m次;“{m,n}〞表示其前原子至少出現(xiàn)m次,至多出現(xiàn)n次;“{m,}〞表示其前原子出現(xiàn)不少于m次。例如:/zo{1,3}m/只能匹配字符串“zom〞、“zoom〞、或“zooom〞。/zo{3}m/只能匹配字符串“zooom〞/zo{3,}m/可以匹配以“z〞開頭,“m〞結束,中間至少為3個“o〞的字符串。/bo{0,1}u/可以匹配字符串“boughtabutter〞中的“bou〞和“bu〞,等價于bo?u。15.原子表-方括號表達式原子表〞[]〞中存放一組原子,彼此地位平等,且僅匹配其中的一個原子。如果想匹配一個〞a〞或〞e〞使用[ae]。例如:Pr[ae]y匹配〞Pray〞或者〞Prey〞。原子表〞[^]〞或者稱為排除原子表,匹配除表內原子外的任意一個字符。例如:/p[^u]/匹配“part〞中的“pa〞,但無法匹配“computer〞中的“pu〞因為“u〞在匹配中被排除。原子表“[-]〞用于連接一組按ASCII碼順序排列的原子,簡化書寫。例如:/x[0123456789]/可以寫成x[0-9],用來匹配一個由“x〞字母與一個數(shù)字組成的字符串。例如:/[a-zA-Z]/匹配所有大小寫字母/^[a-z][0-9]$/匹配比方“z2〞、“t6〞、“g7〞/0[xX][0-9a-fA-F]/匹配一個簡單的十六進制數(shù)字,如“0x9〞。/[^0-9a-zA-Z_]/匹配除英文字母、數(shù)字和下劃線以外任何一個字符,其等價于\W。/0?[xX][0-9a-fA-F]+/匹配十六進制數(shù)字,可以匹配“0x9B3C〞或者“X800〞等。/<[A-Za-z][A-Za-z0-9]*>/可以匹配“<P>〞、“<hl>〞或“<Body>〞等HTML標簽,并且不嚴格的控制大小寫。16.模式選擇符
元字符“|〞又稱模式選擇符。在正那么表達式中匹配兩個或更多的選擇之一。例如:在字符串“Therearemanyapplesandpears.〞中,/apple|pear/在第一次運行時匹配“apple〞;再次運行時匹配“pear〞。也可以繼續(xù)增加選項,如: /apple|pear|banana|lemon/17.模式單元
元字符“〔〕〞將其中的正那么表達式變?yōu)樵印不蚍Q模式單元〕使用。與數(shù)學表達式中的括號類似,“〔〕〞可以做一個單元被單獨使用。例如:/(Dog)+/匹配的“Dog〞、“DogDog〞、“DogDogDog〞,因為緊接著“+〞前的原子是元字符“〔〕〞括起來的字符串“Dog〞。/You(very)+old/匹配“Youveryold〞、“Youveryveryold〞/Hello(world|earth)/匹配“Helloworld〞、“Helloearth〞一個模式單元中的表達式將被優(yōu)先匹配或運算。18.重新使用的模式單元
系統(tǒng)自動將模式單元“〔〕〞中的匹配依次存儲起來,在需要時可以用“\1〞、“\2〞、“\3〞的形式進行引用。當正那么表達式包含有相同的模式單元時,這種方法非常便于對其進行管理。注意使用時需要寫成“\\1〞、“\\2〞例如:/^\d{2}([\W])\d{2}\\1\d{4}$/匹配“12-31-2006〞、“09/27/1996〞、“86014321〞等字符串。但上述正那么表達式不匹配“12/34-5678〞的格式。這是因為模式“[\W]〞的結果“/〞已經被存儲。下個位置“\1〞引用時,其匹配模式也是字符“/〞。當不需要存儲匹配結果時使用非存儲模式單元“〔?:〕〞例如/(?:a|b|c)(D|E|F)\\1g/將匹配“aEEg〞。在一些正那么表達式中,使用非存儲模式單元是必要的。否那么,需要改變其后引用的順序。上例還可以寫成/〔a|b|c〕(C|E|F)\\2g/。19.模式修正符〔PatternModifiers〕在PCRE表達式中的最后一個分隔符/后,可以添加模式修正符,擴展了正那么表達式在字符匹配、替換操作時的某些功能,修正增強了正那么表達式的處理能力。模式修正符一般標記于整個模式之外,并且可以組合使用,如“/apple/i〞、“/cat|dog/uis〞等。
模式修正符 說明 i -可同時匹配大小寫字母 m -將字符串視為多行 s -將字符串視為單行,換行符做普通字符看 待,使“.〞匹配任何字符 x -模式中的空白忽略不計 S -當一個模式將被使用假設干次時,先對其進行 分析 U -匹配到最近的字符串 e -將替換的字符串作為表達使用20.下面是幾個簡單的例如,可以說明模式修正符的使用/apple/i匹配“apple〞或“Apple〞等,忽略大小寫。/Iloveyou/ix匹配“iloveYou〞,忽略大小寫以及空白。/<.*>/U將依次匹配字符串“<b>Cool</b>music<hr>Fewyearsago…..〞中的“<b>〞、“</b>〞和“<hr>〞。而/<.*>/卻匹配到最后一個可用的字符串,既“<b>Cool</b>music<hr>〞。/<h.*>/Uis將HTML文件視為單行字符串,忽略大小寫和換行符。匹配其中的所有以“h〞開頭的標簽,如“<Hl>〞、“<hrsize=1>〞等。21.模式匹配的順序
在使用正那么表達式時,需要注意匹配的順序。通常,正那么表達式按照由左至右的順序依次匹配。模式匹配的順序〔從高到低〕 順序 元字符 說明1 〔〕 模式單元 2 ?*+{} 重復匹配3 ^$ 邊界限制4 | 模式選擇22.PCRE正那么表達式函數(shù)preg_match()和preg_match_all()preg_grep()preg_quote()preg_split()preg_replace()23.正那么表達式的匹配preg_match()函數(shù)函數(shù)原形:intpreg_match(string$pattern,string$content[,array$matches]) preg_match()函數(shù)在$content字符串中搜索與$pattern給出的正那么表達式相匹配的內容。如果提供了$matches,那么將匹配結果放入其中。$matches[0]將包含與整個匹配的文本,$matches[1]將包含第一個捕獲的與括號中的模式單元所匹配的內容,以此類推。該函數(shù)只作一次匹配,最終返回0或1的判斷是否匹配。24.<?php //需要匹配的字符串。date函數(shù)返回當前時間
$content="Currentdateandtimeis".date("Y-m-dh:ia").",wearelearningPHPtogether."; //使用通常的方法匹配時間
if(preg_match("/\d{4}-\d{2}-\d{2}\d{2}:\d{2}[ap]m/",$content,$m)){ echo"匹配的時間是:".$m[0]."\n"; } //由于時間的模式明顯,也可以簡單的匹配
if(preg_match("/([\d-]{10})([\d:]{5}[ap]m)/",$content,$m)){ echo"當前日期是:".$m[1]."\n"; echo"當前時間是:".$m[2]."\n"; }?>25.進行全局正那么表達式匹配preg_match_all() 與preg_match()函數(shù)類似。如果使用了第三個參數(shù),將把所有可能的匹配結果放入。本函數(shù)返回整個模式匹配的次數(shù)〔可能為0〕,如果出錯返回False。26.<?php //功能:將文本中的鏈接地址轉成HTML functionurl2html($text) { //匹配一個URL,直到出現(xiàn)空白為止 preg_match_all("/:\/\/?[^\s]+/i",$text,$links); //設置頁面顯示URL地址的長度 $max_size=40; foreach($links[0]as$link_url) { //計算URL的長度。如果超過$max_size的設置,那么縮短。 $len=strlen($link_url); if($len>$max_size) { $link_text=substr($link_url,0,$max_size)."..."; }else{ $link_text=$link_url; } //生成HTML文字 $text=str_replace($link_url,"<ahref='$link_url'>$link_text</a>",$text); } return$text; }
27.//運行實例 $str=“這是一個包含多個URL鏈接地址的多行文字。歡送訪問://taoboor〞; printurl2html($str); /*輸出結果 這是一個包含多個URL鏈接地址的多行文字。歡送訪問<ahref='://taoboor'> ://taoboor</a> */?>28.preg_grep()函數(shù)原型:arraypreg_grep(string$pattern,array$input)preg_grep()函數(shù)返回一個數(shù)組,其中包括了$input數(shù)組中與$pattern正那么表達式相匹配的單元〔注:$input不能為null〕。對于輸入數(shù)組$input中的每個元素,preg_grep()也只進行一次匹配。29.<?php $subjects=array( "MechanicalEngineering","Medicine", "SocialScience","Agriculture", "CommercialScience","Politics" );
//匹配所有僅由有一個單詞組成的科目名
$alonewords=preg_grep("/^[a-z]*$/i",$subjects);?>30.preg_quote函數(shù)原型stringperg_quote(stringstr[,stringdelimiter])preg_quote轉義正那么表達式字符<?php $keywords="$40forag3/400";
$keywords=preg_quote($keywords,"/");
echo$keywords;//輸出\$40forag3\/400?>正那么表達式的特殊字符包括:.\\+*?[^]$(){}=!<>|:31.正那么表達式的拆分preg_split()函數(shù)原型:arraypreg_split(string$pattern,string$string[,int$limit[,intflags]])本函數(shù)返回一個字符串數(shù)組,每個單元為$string經正那么表達式$pattern作為邊界分割出的子串。如果設定了$limit,那么返回的數(shù)組最多包含$limit個單元。而其中最后一個單元包含了$string中剩余的所有局部。flags可選參數(shù):PREG_SPLIT_NO_EMPTY:只返回非空的成分PREG_SPLIT_DELIM_CAPTURE:定界符模式中的括號表達式也會被捕獲并返回PREG_SPLIT_OFFSET_CAPTURE:對每個出現(xiàn)的匹配結果也同時返回其附屬的字符串偏移量32.preg_split()<?php $seek=array(); $text="IhaveadreamthatonedayIcanmakeit.Sojustdoit,nothingisimpossible!";
//將字符串按空白,標點符號拆分〔每個標點后也可能跟有空格〕 $words=preg_split("/[.,;!\s']\s*/",$text); $seek=array_count_values($words); echo"共有大約".count($words)."個單詞。"; echo"其中共有".$seek['I']."個單詞“I〞。";?>33.將字符串分割成字符<?php
$str='string';
$chars=preg_split('//',$str,-1,
PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>將字符串分割為匹配項及其偏移量<?php
$str='hypertextlanguageprogramming';
$chars=preg_split('//',$str,-1,
PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>34.正那么表達式的替換preg_replace()函數(shù)原形:mixedpreg_replace(mixed$patten,mixed$replacement,mixed$subject[,int$limit])preg_replace其前三個參數(shù)均可以使用數(shù)組;第四個參數(shù)$limit可以設置替換的次數(shù),默認為全部替換。35.<?php //字符串 $string="Name:{Name}<br>\nEmail:{Email}<br>\nAddress:{Address}<br>\n"; //模式 $patterns=array( "/{Address}/", "/{Name}/", "/{Email}/" ); //替換字串 $replacements=array( "No.5,WilsonSt.,NewYork,U.S.A", "ThomasChing", "tom@emailaddress", ); //輸出模式替換結果 printpreg_replace($patterns,$replacements,$string);?>36.POSIX正那么表達式POSIX正那么表達式全稱為PortableOperatingSystemInterfaceofUnix,意為UNIX可移植操作系實現(xiàn)接口。構造POSIX正那么表達式的方法和創(chuàng)立數(shù)學表達式的方法一樣,也就是用多種元字符與操作符將小的表達式結合在一起來創(chuàng)立更大的表達式。37.POSIX風格預定義的正那么表達式的字符類: [[:alnum:]] 字母和數(shù)字字符 [[:alpha:]] 大小寫字母 [[:lower:]] 小寫字母 [[:upper:]] 大寫字母 [[:digit:]] 數(shù)字0-9 [[:xdigit:]] 十六進制數(shù)字 [[:punct:]] 標點符號,包括上檔鍵!@ [[:blank:]] TAB制表符和空格 [[:space:]] 任何空白字符,換行,回車符 [[:cntrl:]] 控制字符〔TAB,退格〕[a-zA-Z0-9][0-9][\t][a-zA-Z][a-z][A-Z][0-9a-fA-F]特殊的[[:graph:]]是[[:alpha:]][[:digit:]][[:punct:]]的合體38.POSIX正那么表達式函數(shù)ereg()和eregi()ereg_replace()和eregi_replace()split()和spliti()39.ereg()和eregi()ereg()字符串匹配函數(shù),eregi()是ereg()函數(shù)的忽略大小的版本,函數(shù)返回的是一個布爾值,說明匹配成功與否。需要說明的是,POSIX擴展庫函數(shù)的第一個參數(shù)接受的是正那么表達式字符串,既不需要使用分隔符.如果只是查找一個字符串中是否包含某個子字符串,建議使用strstr()或strpos()函數(shù).40.<?php $username=$_SERVER['REMOTE_USER']; $filename=$_GET['file']; //對文件名進行過濾,以保證系統(tǒng)平安 if(!ereg('^[^./][^/]*$',$userfile)) { die('這是一個非法的文件名!'); } //對用戶名進行過濾 if(!ereg('^[^./][^/]*$',$username)) { die(‘這不是一個有效的用戶名'); }
//通過平安過濾,拼合文件路徑 $thefile="/home/$username/$filename";?>41.ereg_replace()和eregi_replace()ereg_replace()和eregi_replace()函數(shù)原形:stringereg_replace(string$pattern,string$replacement,
string$string)stringeregi_replace(“正那么表達式〞,“目標替換字符〞,“替換目標〞)ereg_replace()在$string中搜索模式字符串$pattern,并將所匹配結果替換為$replacement。當$pattern中包含模式單元〞〔〕〞時,$replacement中形如“\1〞的位置將依次被這些子模式所匹配的內容替換。而“\0〞是整個的匹配字符串的內容。需要注意的是,在雙引號中反斜線作為轉義符使用,所以必須使用“\\0〞,“\\1〞的形式。eregi_replace()和ereg_replace()的功能一致,只是前者忽略大小寫42.<?php $lines=file('source.php');//將文件讀入數(shù)組中 for($i=0;$i<count($lines);$i++) { //將行末以“\\〞或“#〞開頭的注釋去掉 $lines[$i]=eregi_replace(“(//|#).*$","",$lines[$i]); //將行末的空白消除 $lines[$i]=eregi_replace("[\n\r\t\v\f]*$","\r\n",$lines[$i]); } //整理合并數(shù)組后輸出到頁面 echohtmlspecialchars(implode("",$lines));?>43.正那么表達式的拆分split()和spliti()函數(shù)原型:arraysplit(string$pattern,string$string[,int$limit])本函數(shù)返回一個字符串數(shù)組,每個單元為$string經正那么表達式$pattern作為邊界分割出的子串。如果設定了$limit,那么返回的數(shù)組最多包含$limit個單元。而其中最后一個單元包含了$string中剩余的所有局部。spliti是split的忽略大小版本。44.<?php $date="08/30/2006";
//分隔符可以是斜線,點,或橫線
list($month,$day,$year)=split('[/.-]',$date);
//輸出為另一種時間格式
echo"Month:$month;Day:$day;Year:$year<br/>\n";?>45.多行匹配僅僅使用POSIX下的正那么表達式函數(shù),很難進行復雜的匹配操作。例如,對整個文件〔尤其是多行文本〕進行匹配查找。使用ereg()函數(shù)的第三個參數(shù),對此進行操作的一個方法是分行處理。如果找到與正那么表達式中圓括號〔〕內的相匹配的子串并且函數(shù)調用給出了第三個參數(shù)regs,匹配項將被存入第三個參數(shù)regs數(shù)組中。$regs[1]包含第一個左圓括號開始的子串,$regs[2]包含第二個子串,以此類推。$regs[0]包含整個匹配的字符串。46.<?php $rows=file('php.ini');//將php.ini文件讀到數(shù)組中
//循環(huán)便歷
foreach($rowsas$line) { if(trim($line)) { //將匹配成功的參數(shù)寫入數(shù)組中
if(eregi("^([a-z0-9_.]*)*=(.*)",$line,$matches)) { $options[$matches[1]]=trim($matches[2]); } unset($matches);} } //輸出參數(shù)結果
print_r($options);?>47.正那么表達式的Wed驗證應用電子郵件地址的校驗URL地址的校驗號碼和郵政編碼的校驗48.電子郵件地址的校驗<?php /*校驗郵件地址*/ functioncheckMail($email){ //用戶名,由“\w〞格式字符、“-〞或“.〞組成 $email_name ="\w|(\w[-.\w]*\w)"; //域名中的第一段,規(guī)那么和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版通 用規(guī)范對設計影響交流分享
- 2025年撫順師范高等??茖W校高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 山西省孝義市高三上學期入學摸底考試語文試題(含答案)
- 滬教版(上海)七年級地理第一學期中國區(qū)域篇(上)1.2《臺灣省》聽課評課記錄
- 中班幼兒系列活動策劃方案五篇
- 2025年科學儀器行業(yè)技術革新與發(fā)展前景
- 鋼材購銷合同范文年
- 代償協(xié)議與擔保合同
- 跨境貿易線上支付服務合同
- 投資公司借款的合同樣本
- 醫(yī)保政策與健康管理培訓計劃
- 無人化農場項目可行性研究報告
- 2024屆上海市金山區(qū)高三下學期二模英語試題(原卷版)
- 學生春節(jié)安全教育
- 2024年重慶市中考數(shù)學試卷(AB合卷)【附答案】
- DB43-T 2142-2021學校食堂建設與食品安全管理規(guī)范
- 宏觀利率篇:債券市場研究分析框架
- 六年級語文(上冊)選擇題集錦
- 《游戲界面設計專題實踐》課件-知識點5:圖標繪制準備與繪制步驟
- MOOC 材料科學基礎-西安交通大學 中國大學慕課答案
- 復產復工試題含答案
評論
0/150
提交評論