6 PHP 正規表示式

2021-07-05 16:16:51 字數 2473 閱讀 8568

1.簡介

2. pcre 相容正規表示式函式

2.1 preg_grep()函式

函式語法:

2.2 preg_match() 函式和preg_match_all() 函式

函式語法:

2.3 preg_quote() 函式

函式語法:

2.4 preg_replace() 函式

函式語法:

2.5 preg_replace_callback() 函式

函式語法:

2.6 preg_split() 函式

函式語法:

正規表示式的搜尋與替換在某些方面具有重要用途,比如調整目標字串的格式,改變目標字串中匹配字串的順序等。

例如我們可以簡單的調整字串的日期格式:

$string = 'april 15, 2014';

$pattern = '/(\w+) (\d+), (\d+)/i';

$replacement = '$3, $ $2';

echo preg_replace($pattern, $replacement, $string); //結果為:2014, april 15

其中$與$1的寫法是等效的,表示第乙個匹配的字串,$2代表第二個匹配的。

通過複雜的模式,我們可以更加精確的替換目標字串的內容。

$patterns = array ('/(19|20)(\d)-(\d)-(\d)/',

'/^\s*\s*=/');

$replace = array ('\3/\4/\1\2', '$\1 =');//\3等效於$3,\4等效於$4,依次類推

echo preg_replace($patterns, $replace, ' = 1999-5-27'); //結果為:$startdate = 5/27/1999

//詳細解釋下結果:(19|20)表示取19或者20中任意乙個數字,(\d)表示兩個數字,

(\d)表示1個或2個數字,(\d)表示1個或

2個數字。^\s*表示以任意空格開頭的,

並且包含在{}中的字元,並且以任意空格結尾的,

最後有個=號的。

用正則替換來去掉多餘的空格與字元:

$str = 'one two';

$str = preg_replace('/\s+/', ' ', $str);

echo

$str; // 結果改變為'one two'

正規表示式 6

普通字元包括沒有顯式指定為元字元的所有可列印和不可列印字元。這包括所有大寫和小寫字母 所有數字 所有標點符號和一些其他符號。正規表示式的最簡單形式是在搜尋字串中匹配其本身的單個普通字元。例如,單字元模式,如 a,不論出現在搜尋字串中的何處,它總是匹配字母 a。下面是一些單字元正規表示式模式的示例 a...

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...

正規表示式 6 正規表示式前奏 地獄

先來看幾個例子,如果用一般的方法 非正規表示式方法 解決如下幾個問題,難度會非常大。需求1 192.168.10.5 port 8080 這個字串表示ip位址為192.168.10.5的伺服器的8080埠是開啟的,請用程式解析此字串,然後列印出 ip位址為 的伺服器的 埠是開啟的 需求2 192.1...