定界符,就是定乙個邊界,邊界已內的就是正則表達示。
php的正則表達示定界符的規定如下:
定界符,不能用a-za-z0-9\ 其他的都可以用。必須成對出現,有開始就有結束。
所有可見不可見的字元就是原子
說明:我們見到的空格、回車、換行、0-9、a-za-z、中文、標點符號、特殊符號全為原子。
int preg_match ( string $正則 , string $字串 [, array &$結果] )
功能:根據$正則變數,匹配$字串變數。如果存在則返回匹配的個數,把匹配到的結果放到$結果變數裡。如果沒有匹配到結果返回0。
事例: <?php
$zz = '/ /';
$string = 'sssssw aaaaa';
if(preg_match($zz, $string, $matches))else
?>
輸出結果:
匹配到了,結果為:array(1)
+ 匹配最少1次前面的字元
* 匹配0次或者任意多次前面的字元
? 前面的字元出現0次或者1次,可有可無
. (點) 匹配除\n以外的所有字元
|(豎線),或者,優先順序最低
^ (抑揚符),必須要以^之後的字串開始
\b和\b 詞邊界和非詞邊界:
\b詞邊界,就是指必須要在最前或者最後。
\b非邊界,就是不能在乙個正則表達示的最前或者最後。
有且只能出現m次
可以出現n到m次
至少m次,最大次數不限制
i 不區分大小寫
s 識為一行
x 忽略空白字元
e 將匹配項找出來,進行替換
例:<?php
$string = "";
//'w'匹配字母,數字和下劃線,'d'匹配0-9數字,'+'元字元規定其前導字元必須在目標物件中連續出現一次或多次
$pattern = "//i";
$replacement = "\$2";
//字串被替換為與第 n 個**獲的括號內的子模式所匹配的文字
echo preg_replace($pattern, $replacement, $string);
?>
輸出結果:15
上例中\$2 指向的是正則表達示的第乙個(\d+)。相當於把15又取出來了
替換的時候,我寫上\$2。將匹配項取出來,用來再次替換匹配的結果。
u 貪婪模式控制
a 從目標字串的開頭開始匹配
d 結束$符後不准有回車
PHP中的正規表示式
url php繼承unix的一貫傳統,完全支援正規表示式的處理。正規表示式提供了一種高階的,但不直觀的字串匹配和處理的方法。用過perl的正規表示式的朋友都知道,正規表示式的功能非常強大,但學起來不是那麼容易。比如 這段有效卻難以理解的 足夠使一些程式設計師頭痛 我就是 或者讓他們放棄使用正規表示式...
PHP中的正規表示式
php繼承 nix的一貫傳統,完全支援正規表示式的處理。正規表示式提供了一種高階的,但不直觀的字串匹配和處理的方法。用過perl的正規表示式的朋友都知道,正規表示式的功能非常強大,但學起來不是那麼容易。比如 這段有效卻難以理解的 足夠使一些程式設計師頭痛 我就是 或者讓他們放棄使用正規表示式。相信當...
PHP中的正規表示式
綜述?正規表示式是一種可以用於模式匹配和調換的強有力的工具。正規表示式可以讓使用者通過應用一系列的特別字元構建匹配模式,然後把匹配模式與資料檔案 程式輸進以及web頁面的表單輸進等目標物件進行比擬,根據比擬物件中是否包含匹配模式,履行相應的程式。如何應用基礎模式匹配?模式,是正規表示式最基礎的元素,...