php的正则表达式函数,php中常用的正则表达式函数
php中常用的正則表達式函數
* preg_match()
* preg_match_all()
* preg_replace()
* preg_filter()
* preg_grep()
* preg_split()
* preg_quote()
接下來對比講解:
講解中 $pattern 通常表示正則表達式
$subject 通常表示目標處理數據
定義一個方法 方便查看數據類型:
function show($val = null){
if(empty($val)){
//打印空
echo 'null';
}elseif(is_array($val) || is_object($val)){
//打印數組或者對象
echo '
';print_r($val);
echo '
';}else{
//打印string int float
echo $val;
}
}
preg_match()與preg_match_all()
/*方法簡單說明*/
preg_match($pattern,$subject,[array &$matches]) //匹配一次 第三個參數可選 匹配結果放置matches數組
preg_match_all($pattern,$subject,array &matches) //匹配多次 三參必選 匹配結果放置matches數組
$pattern = '/[0-9]/';
$subject='b5fg4sgf3sd2f1g';
$m1 =preg_match($pattern,$subject,$arr1);
show($m1);
show($arr1);
/*
1
Array
(
[0] => 5
)
*/
$m2 =preg_match_all($pattern,$subject,$arr2);
show($m2);
show($arr2);
/*
5
Array
(
[0] => Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)
)
*/
2.preg_replace()與preg_filter()/*方法簡單說明*/
* preg_replace與preg_filter
* preg_replace($pattern,$replacement,$subject)
* //正則替換函數被替換對象是數組 返回全部
//正則替換函數 被替換對象是數組 僅返回被替換元素
* 聯想:str_repalce()
* echo str_replace("world","Shanghai","Hello world!");
* //得到Hello Shanghai!
//第一測 字符串中替換字符串 結論:此處preg_replace()與preg_filter()無區別
$pattern = '/[0-9]/';
$subject='b65fg4sgf3sd2f1g';
$replacement = '_';
$str1 = preg_replace($pattern,$replacement,$subject);
$str2 = preg_filter($pattern,$replacement,$subject);
echo '
';
show($str1);
echo '
';
show($str2);
/*
b__fg_sgf_sd_f_g
b__fg_sgf_sd_f_g
*/
//第二測 字符串中根據數組正則 替換 結論:此處preg_replace()與preg_filter()無區別
$pattern = array('/[123]/','/[456]/','/[789]/');
$subject='b123fg3456sgf3789f1g';
$replacement = array('天','地','人');
$str3 = preg_replace($pattern,$replacement,$subject);
$str4 = preg_filter($pattern,$replacement,$subject);
echo '
';
show($str3);
echo '
';
show($str4);
/*
b天天天fg天地地地sgf天人人人f天g
b天天天fg天地地地sgf天人人人f天g
*/
//第三測 數組中根據數組正則 替換 結論:此處展示preg_repalce()與preg_filter()有區別
$pattern = array('/[123]/','/[456]/','/[789]/');
$subject=array('b','fg3','456','sgf','789','fg');
$replacement = array('天','地','人');
$str5 = preg_replace($pattern,$replacement,$subject);
$str6 = preg_filter($pattern,$replacement,$subject);
echo '
';
show($str5);
echo '
';
show($str6);
/*
Array
(
[0] => b
[1] => fg天
[2] => 地地地
[3] => sgf
[4] => 人人人
[5] => fg
)
Array
(
[1] => fg天
[2] => 地地地
[4] => 人人人
)
*/
3 . preg_grep($pattern, array $subject) //此處$subject只可以為一維數組
/*函數說明*/
preg_grep($pattern,array $input)//只可以匹配一維數組 返回匹配成功的數組元素
可以理解preg_grep()為閹割版 preg_filter()
只做了匹配 不作替換
$pattern = '/[0-9]/';
$subject=array('b','fg3','456','sgf','789','fg');
$arr = preg_grep($pattern,$subject);
show($arr);
/*
Array
(
[1] => fg3
[2] => 456
[4] => 789
)
*/
4 . preg_split($pattern,$subject)//一匹配成功為切割點切割字符串成數組
可以理解preg_split()升級版的explode()
$pattern = '/[0-9]/';
$subject='bfg3456sgf789fg';
$arr = preg_split($pattern,$subject);
show($arr);
/*
Array
(
[0] => bfg
[1] =>
[2] =>
[3] =>
[4] => sgf
[5] =>
[6] =>
[7] => fg
)
*/
5 . preg_quote($str) 正則運算符轉譯
/*
* preg_quote($str) 正則運算符轉譯
* . \ + * ? [ ^ ] $ () {} = ! < > | : -
*
*/
echo '
';
$str = "qewr{asdf}[123]";
$str =preg_quote($str);
print_r($str);
/*
qewr\{asdf\}\[123\]
*/簡單總結通性:
preg_ 開頭
除preg_quote函數以外,第一個參數都是正則表達式
preg_match 表單驗證等
preg_replace 非法詞語過濾等
Python常用模塊中常用內置函數的具體介紹
Python作為計算機語言中常用的語言,它具有十分強大的功能,但是你知道Python常用模塊I的內置模塊中常用內置函數都包括哪些具體的函數嗎?以下的文章就是對Python常用模塊I的內置模塊的常用內置 ...
iOS開發中常用的數學函數
iOS開發中常用的數學函數 /*---- 常用數學公式 ----*/ //指數運算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //開平方 ...
實際項目開發過程中常用C語言函數的9大用法
C語言是當中最廣泛的計算機編程語言,是所有計算機編程語言的祖先,其他計算機編程語言包括當前流行的Java語言,都是用C語言實現的,C語言是編程效率最高的計算機語言,既能完成上層應用開發,也能完成底層硬 ...
Sql 中常用時間處理函數
1.Sql 中常用時間處理函數? GETDATE()? 返回當前的日期和時間 DATEPART()? 返回日期/時間的單獨部分 DATEADD()? ?返回日期中添加或減去指定的時間間隔 DATEDI ...
PHP中常用的正則表達式由哪些元素構成?
在程序開發中,我們常常要用到正則表達式,對于新手來說,很多時候知道正則表達式是怎么回事,但當真正需要使用的時候,卻不知該用什么函數,具體的修飾符也比較混亂.下面小編就為大家整理了一些php正則表達式中 ...
JavaScript 中常用的 正則表達式
這編文章我來整理了一些在 javascript 中常用的正則式希望能給大家帶來一些開發的靈感 //校驗是否全由數字組成 function isDigit(s)?{?var patrn=/^[0-9]{ ...
收集JavaScript中常用的方法函數
本文中,收集了一些比較常用的Javascript函數,希望對學習JS的朋友們有所幫助. 1. 字符串長度截取 function cutstr(str, len) { var temp, icount ...
js中常用的正則表達式
我一般對正則的使用方式如下,該方法會返回一個boolean值,然后對這個返回值來進行判斷 // 判斷是否是整數 function isInt(num) { var reg = new RegExp(& ...
【Oracle】Oracle中常用的系統函數
Oracle?SQL?提供了用于執行特定操作的專用函數.這些函數大大增強了?SQL?語言的功能.函數可以接受零個或者多個輸入參數,并返回一個輸出結果.在Oracle還可以自定義函數,關于更多信息可以查 ...
隨機推薦
./configure,make,make install的作用
這些都是典型的使用GNU的AUTOCONF和AUTOMAKE產生的程序的安裝步驟. ./configure是用來檢測你的安裝平臺的目標特征的.比如它會檢測你是不是有CC或GCC,并不是需要CC或GCC ...
TortoiseGit 連接Git服務器不用每次輸入用戶名和密碼的方法
每次git push?都要輸入用戶名和密碼. 雖然安全,但在自己電腦上每次都輸有些麻煩,如何記住用戶名和密碼呢? 試了很多方法,找到這個最簡單,親測可行. 當你配置好git后,在C盤C:\Users\ ...
Cron運行原理
from:http://blog.chinaunix.net/uid-20682147-id-4977039.html 目錄 目錄 1 1.?前言 1 2.?示例 1 3.?工作過程 2 4.?一個詭 ...
Z-Stack協議中幾個重要概念的理解
1. 原語 ??? ZigBee設備在工作時,各種不同的任務在不同的層次上執行,通過層的服務,完成所要執行的任務.每一層的服務主要完成兩種功能:根據它的下層服務要求,為上層提供相應的服務:另一咱是根據 ...
SQL Server帶游標的SQL
DECLARE test_cursor CURSOR FOR SELECT ID FROM dbo.T_BD_Restaurant WHERE id <> '0AAB2E55-79F8-4 ...
想要薪資20-30K,Python程序員認真敲代碼就夠了!
在這個年代,互聯網的飛速壯大大家有目共睹,除了表露出的公共受益,其中計算機編程者也是做出了巨大的貢獻,即使外國編程語言仍舊屬于領導者,但是在互聯網的壯大下,我們這是"地球村",國內 ...
Pandas系列(十六)- 你需要學會的騷操作
pandas有一種功能非常強大的方法,它就是accessor,可以將它理解為一種屬性接口,通過它可以獲得額外的方法.其實這樣說還是很籠統,下面我們通過代碼和實例來理解一下. pd.Series._ac ...
SoapUI測試WebService接口
Getting Started Getting started with some ad-hoc testing of a SOAP service is straight forward; se ...
centos查看系統版本信息
1.查看版本文件名稱 ll /etc/*centos* 2.顯示系統版本號 cat /etc/centos-release
總結
以上是生活随笔為你收集整理的php的正则表达式函数,php中常用的正则表达式函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lwip+freeRTOS 无法ping
- 下一篇: ip访问php $_files空,PHP