PHP正規表示式函式

2021-06-03 22:37:03 字數 3104 閱讀 2804

關於正規表示式 (regular expression),似乎譯成:字串解析處理,較合乎字面上的意義。但目前所有的相關書籍都譯成正規表示式或是正規表示法....等等,實際上是負責字串解析比對,並對字串做相關的處理。

ereg: 字串比對解析。

ereg_replace: 字串比對解析並取代。

eregi: 字串比對解析,與大小寫無關。

eregi_replace: 字串比對解析並取代,與大小寫無關。

split: 將字串依指定的規則切開。

sql_regcase: 將字串逐字返回大小寫字元。

字串比對解析。

語法:int ereg(string pattern, string string, array [regs]);

返回值: 整數/陣列

函式種類: 資料處理

內容說明

本函式以 pattern 的規則來解析比對字串 string。比對結果返回的值放在陣列引數 regs 之中,regs[0] 內容就是原字串 string、regs[1] 為第乙個合乎規則的字串、regs[2] 就是第二個合乎規則的字串,餘類推。若省略引數 regs,則只是單純地比對,找到則返回值為 true。

使用範例

這個例子是 [email protected] 在 14-jun-1999 所提出的,可對使用者輸入的 e-mail 作簡單的檢查,檢查使用者的 e-mail 字串是否有 @ 字元,在 @ 字元前有英文本母或數字,在之後有數節字串,最後的小數點後只能有二個或三個英文本母。[email protected] 就可以通過檢查,[email protected] 就不能通過檢查。

<?php

if (

eregi("^

[_\.0-9a-z-

]+@(

[0-9a-z

][0-9a-z-

]+\.)+

[a-z]$"

,$email

)) ?>

字串比對解析並取代。

語法:string ereg_replace(string pattern, string replacement, string string);

返回值: 字串

函式種類: 資料處理

內容說明

本函式以 pattern 的規則來解析比對字串 string,欲取而代之的字串為引數 replacement。返回值為字串型別,為取代後的字串結果。

使用範例

[email protected] 在 16-mar-1999 提出的例子。

<?php

$text 

= 'this is a  day, not  and .'

;$daytype 

= array( 

1 => 

'fine',2 

=> 

'overcast',3 

=> 

'rainy' 

);while (

ereg (''

, $text

, $regs

)) "

, $daytype

[$found

], $text);}

echo 

"$text\n"

;// this is a fine day, not overcast and rainy. 

?>

[email protected] 並同時提出具有相同功能的perl 程式範例如下:

$text = 'this is a  day, not  and .';

%daytype = ( 1 => 'fine',

2 => 'overcast',

3 => 'rainy' );

$text =~ s//$daytype/eg;

print "$text\n";

結果是:'this is a fine day, not overcast and rainy.

字串比對解析,與大小寫無關。

語法:int eregi(string pattern, string string, array [regs]);

返回值: 整數/陣列

函式種類: 資料處理

內容說明

本函式和 ereg() 類似,用法也相同。不同之處在於 ereg() 有區分大小寫,本函式與大小寫無關。

字串比對解析並取代,與大小寫無關。

語法:string eregi_replace(string pattern, string replacement, string string);

返回值: 字串

函式種類: 資料處理

內容說明

本函式和 ereg_replace() 類似,用法也相同。不同之處在於 ereg_replace() 有區分大小寫,本函式與大小寫無關。

將字串依指定的規則切開。

語法:array split(string pattern, string string, int [limit]);

返回值: 陣列

函式種類: 資料處理

內容說明

本函式可將字串依指定的規則分開。切開後的返回值為陣列變數。引數 pattern 為指定的規則字串、引數 string 則為待處理的字串、引數 limit 可省略,表示欲處理的最多合乎值。值得注意的是本函式的 pattern 引數有區分大小寫。

將字串逐字返回大小寫字元。

語法:string sql_regcase(string string);

返回值: 陣列

函式種類: 資料處理

內容說明

本函式可將字串之字元逐字返回大小寫。在 php 使用上,本函式沒有什麼作用,但可能可以提供外部程式或資料庫處理。

使用範例

例中的返回字串為 [ww][ii][ll][ss][oo][nn]

<?php

print(

sql_regcase

("wilson"

));?>

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

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

正規表示式一 php常用正規表示式匹配函式

注 pattren 正規表示式 subject 匹配的目標資料 注 1 pre match只匹配一次,而pre match all匹配所有的 2 前者是一維陣列,而後者是二維陣列 3 函式返回值對應匹配次數 注 1 兩者支援陣列匹配替換,即 pattern,replacement,subject均可...

php正規表示式函式詳解

注 本文參考php5 幫助文件 ereg replace php 3,php 4 ereg replace 替換正規表示式 說明string ereg replace string pattern,string replacement,string string 本函式在 string 中掃瞄與 p...