<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    PHP學習:正則表達式和字符串處理

    時間:2025-02-25 01:29:25 php語言 我要投稿
    • 相關推薦

    PHP學習:正則表達式和字符串處理

      在PHP的處理數據中一般都會用到正則表達式,那么正則表達式的編碼規則是怎樣的呢?以下是百分網小編精心為大家整理的關于正則表達式和字符串處理的內容,希望對大家有所幫助!更多內容請關注應屆畢業生網!

    PHP學習:正則表達式和字符串處理

      程序原理:處理數據(Web上的數據)

      數據:類型 字符串是程序中的一種最基本的類型 serialize

      正則就是處理字符串的一種方式

      處理字符串:查找、替換、刪除、匹配、分割

      1、正則表達式簡介

      正則表達式介紹

      正則表達式:Regular Expression,是用于描述字符排列模式的一種語法規則。

      正則表達式是查找和替換、切割字符串模式的簡潔和靈活的表示方法。

      正則表達式的用途:

      在unix(linux)系統中,可以在編輯器中使用正則表達式實現對字符的搜索及處理;各種編程語言(c/c++,perl,java,javascript)也可以使用正則表達式實現對字符的模式分割、匹配、查找及替換操作。

      正則表達式早期僅用于Unix系統程序,現在已被絕大多數系統、程序所支持。

      PHP支持兩種風格的正則表達式函數:一種是由PCRE(Perl Compatible Regular Expression)庫提供的;另一種是由POSIX(Portable Operation System Implementation for unix,UNIX可移植操作系統實現接口)擴展庫提供的.。前者使用以“preg_”為前綴命名的函數;后者使用以“ereg_”為前綴命名的函數。兩者功能相似,只是執行效率略有差異。PERL庫的函數(preg_)執行效率略高。

      ereg_*相關函數在php6中將不被支持(從PHP5.3.0開始已經刪除),不推薦使用。

     

      正則語法 記憶、理解

      PHP函數

      2、正則表達式的語法規則

      正則表達式描述了一種字符串的排列模式,主要用于字符串的模式分割、匹配、查找及替換等操作。正則表達式是主要由原子(普通字符,如單個英文字符、數字、特殊字符等)、元字符(有特殊功用的字符)以及模式修正字符組成。一個正則表達式中至少包含一個原子。他們各自功能和含義有所不同,下面將分別講述正則表達式的組成元素及其語法規則。

      $content = preg_split('//i',$content);原子:通常是最基本一個字符。

      元字符:特殊字符,比如^,$。

      模式修正字符:i,m等。9.php

      模式修正符:

      模式修正符是標記在整個模式之外的..

      i :模式中的字符將同時匹配大小寫字母.

      m :字符串視為多行.

      s :將字符串視為單行,換行符作為普通字符.

      x :將模式中的空白忽略.

      A :強制僅從目標字符串的開頭開始匹配.

      D :模式中的美元元字符僅匹配目標字符串的結尾.

      U :匹配最近的字符串.

      2.1普通轉義字符

      普通轉義字符是一種原子。正則表達式所使用的普通轉義字符見下表:

      參考1.php

      2.2 字符類(字符集)和范圍:

      任何包含在方括號[]中的內容都是一個字符類——一個被匹配字符所屬的字符集合。"[]"中存放一組原子,彼此地位平等,且僅匹配其中的一個原子。

      例:

      [abc]表示匹配a或b或c中的一個

      [a-z]表示所有a到z之間的字符中的一個

      [A-Z]匹配所有大寫字母中的`一個

      [a-zA-Z]表示任何的大小寫字母中的一個

      [^a-z]匹配任何不在a到z之間的字符(^表示否)

      [0-9]匹配所有的數字 \d

      [0-9.-]匹配所有的數字,點號和減號

      注意:

      a.[]中的內容只表示一個字符。被匹配的文本中只要有[]中的任何一個字符,就匹配成功。

      b.當把^放在方括號里面第一個位置時,表示否;如果^在方括號中的其他位置,表示是一個字符^。當^在[]中的第一個位置時,如果要匹配它本身,要用\轉義。當該符號用在方括號外面時,一般表示正則表達式的開始。

      c.當-不在a和z,A和Z,0和9之間,單獨出現時,表示是一個字符-。

      d.在[]中的特殊符號,不用轉義。但是幾個特殊字符除外:] 要轉義,^在第一個位置要轉義,反斜杠\,-要轉義。三個反斜杠\代表一個\(4個也代表一個反斜杠)。

      參考2.php

      var_dump(preg_match_all('/[^a^\]]/', '33]3anba',$t)); //非a非]

      2.3 重復匹配

      重復

      * 表示這個模式可以被重復0次,1次或多次 a{0,}

      + 表示這個模式可以被重復1次或多次 a{1,}

      ? 表示這個模式可以被重復0次或1次 a{0,1}

      計數

      {5} 表示匹配5次

      {2,} 表示至少匹配2次

      {0,5} 表示至多匹配5次(不能寫成{,5})

      {2,5} 表示最少匹配2次,最多匹配5次

      注:,后面不能有空格

      參考3.php

      2.4 開始或結尾

      ^ (或\A)用于正則表達式的開始

      $ (或\Z)用于正則表達式的結尾

      例:

      ^andy 表示在字符串開始處是 andy

      .cn$ 表示在字符串結尾處是 .cn

      ^[a-z]$ 表示只包含a到z之間一個字符的字符串。

      參考 4.php

      \B相當于\w ?

      元字符“\b”對單詞(指\w)的邊界進行匹配;“\B”對單詞的內部進行匹配。

      例如:在字符串“This island is a beautiful land”中使用/\bis\b/可以匹配單詞“is”,而與“This”或者“island”無關。/\bis/與單詞左邊界匹配,可以匹配單詞“is”和“island”中的`“is”;/\Bis/不與單詞左邊界匹配,可以匹配單詞 “This”中的“is”。/\Bis\B/ 將明確的指示不與單詞的左、右邊界匹配,只匹配單詞的內部。所以在這個例子中沒有匹配結果。

      參考 5.php

      2.5 元字符“.”

      元字符“.”匹配除換行符外任何一個字符,相當于[^\n](Unix系統)或[^\r\n](Windows系統)。不是html的換行

      。例如:/pr.y/可以匹配目字符串“prey”、“pray”或“pr%y”等。

      通常,可以使用“.*”組合來匹配除換行符外的`任何字符串。在一些書籍中也稱其為“全匹配符”或“單含匹配符”。例如:/a.*z/ 表示可以匹配以字母“a”開頭,字母“z”結束的任意不包括換行符的字符串。“. +”也可以完成類似的匹配功能,所不同的是其至少匹配一個字符。例如:/a.+z/將不匹配字符串“az”。

      參考 6.php

      2.6 選擇符

      元字符“|”又稱模式選擇符(或)。在正則表達式中匹配兩個或更多的選擇之一。例如:在字符串“There are many apples and pears.”中,/apple|pear/在第一次運行時匹配“apple”;再次運行時匹配“pear”。也可以繼續增加選項,如/apple|pear|banana|lemon/。

      com|cn|net表示匹配com、cn或net

      參考7.php

      2.7 子表達式(又稱原子、模式單元或組)

      元字符“()”將其中的正則表達式變為原子(或稱模式單元)使用。與數學表達式中的'括號類似,“()”可以作為一個單元被單獨使用。

      例如:/(Dog)+/匹配的“Dog”、“DogDog”、“DogDogDog”……,因為緊接著“+”前的原子是用元字符“()”括起來的字符串“Dog”。

      參考7-2.php 7-3.php

      2.8 匹配特殊字符

      特殊字符有一般加\,如要匹配$ ,則使用 \$

      一些特殊字符:\ ^ $ . | ( ) * + ? { } -

      % , \ * " ' | \s \t < > & ~

      注意:在PHP中,一般將正則表達式模式包括在一個單引號字符串中。使用雙

    【PHP學習:正則表達式和字符串處理】相關文章:

    PHP編程中字符串處理的5個技巧09-13

    php數組和字符串互相轉換實例08-23

    PHP的字符串函數10-06

    PHP字符串操作09-29

    php字符串函數學習之substr08-30

    PHP學習入門之PHP錯誤處理07-14

    PHP 數組和字符串互相轉換實現方法06-28

    PHP數組和字符串互相轉換實現方法09-18

    PHP知識:PHP常用正則表達式大全08-22

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人