程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 常用正則表達式函數(Perl風格)

常用正則表達式函數(Perl風格)

編輯:PHP綜合

1、preg_replace()函數:替換模式的所有出現

搜索到所有匹配,然後替換成想要的字符串並返回

例:

<?php
header("content-type: text/html;charset=utf-8");
$str = preg_replace('/php[1-6]/', 'python','php4, this is php5');
echo $str; //輸出:python, this is python
?>

2、preg_grep()函數:搜索字符串

搜索數組中所有元素,返回由與某個模式匹配的所有元素組成的數組。

例:

<?php
header("content-type: text/html;charset=utf-8");
$arr = array("php","asp","jsp","python","java");
print_r(preg_grep('/p$/',$arr));
?>

3、preg_match()函數:

在字符串中搜索模式,如果存在,返回真,否則返回假。

例:

<?php
header("content-type: text/html;charset=utf-8");
echo preg_match("/php[1-6]/","php5");
?>

4、preg_split()函數:

以不區分大小寫的形式將字符串分割為不同的元素,返回一個一維數組。

<?php
header("content-type: text/html;charset=utf-8");
//[.@]按.或@分割,[]裡的內容是“或”的關系;
//如果沒有[],表示需要同時滿足,即.和@相鄰,.@
$arr = preg_split('/[.@]/','[email protected]');
print_r($arr);
echo '<br />';
foreach($arr as $key=>$val){
echo $val.'--';
}
?>

5、模式分組應用案例:電子郵件驗證

<?php
header("content-type: text/html;charset=utf-8");
//$mode = '/(用戶名)@(網址).(域名)/';
//用戶名:長度大於2,小於255,可包含字母,數字,下劃線,小數點(需要轉義一下)
//$mode = '/([\w\.]{2,255})@(網址).(域名)/';
//網址:長度大於1,小於255,可包含字母,數字,下劃線,減號-(-也需要轉義)
$mode = '/([\w\.]{2,255})@([\w\-]{1,255}).([a-zA-Z]{2,4})/';
$string = '[email protected]';
if(preg_match($mode,$string)){
echo '合法郵件地址';
}else{
echo '不合法郵件地址';
}
?>

6、preg_match_all()函數:

在字符串中匹配模式的所有出現,然後將匹配到的結果存入一個二維數組中。

例:

<?php
header("content-type: text/html;charset=utf-8");
preg_match_all('/php[1-6]/','php5aaaphp6aaaphp4',$out);
print_r($out);
?>

7、preg_quote()函數:定界正則

在每個對於正則表達式語法而言有特殊含義的字符前插入一個反斜線,這些特殊字符包括:

$, ^, *, (), +, =, {}, [], |, \\, :, <>

例:

<?php
header("content-type: text/html;charset=utf-8");
echo preg_quote('I have $100');
?>

URL: http://www.bianceng.cn/webkf/PHP/201702/50545.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved