當前位置:首頁 » 編程語言 » 正則匹配php

正則匹配php

發布時間: 2024-11-10 03:46:01

1. php正則表達式匹配一段中文,中間有換行,空白,應該怎麼寫

有多種處理方法:

1、使用[sS]匹配任意字元,而不是使用「.」
2、使用s單行修飾模式,例:$pattern='#abc.*?def#s';//能匹配abc換行def
3、使用s*匹配換行和空格,php里s能匹配空白字元,含換行

php里的中文使用[x7f-xff]表示,因此,使用正則:

$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可

2. php正則匹配數字

式子:/^[a-zA-Z0-9]+$/u

釋義:

"/":表示正則表達式的定義,固定寫法。

"^":表示開頭。

"[]":表示字元組。匹配所包含的任意一個字元。如,「[ab]」匹配「plain」中的「a」。

"a-z":表示匹配小寫字母a-z的字母範圍。

"A-Z":表示匹配大寫字母A-Z的字母範圍。

"0-9":表示匹配0-9的數字范圍。

"+":表示匹配次數大於等於1。

"$":匹配輸入行尾。如果設置了RegExp對象Multiline屬性,$也匹配「 」或「 」之前的位置。


"u":最後的u是模式修飾符,嚴格的說可能叫預定義常量。表示使用unicode進行匹配。

(2)正則匹配php擴展閱讀:

正則表達式的特點是:

1. 靈活性、邏輯性和功能性非常強;

2. 可以迅速地用極簡單的方式達到字元串的復雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。

3. PHP常用正則表達式匯總

1、w就是匹配字母或數字或下劃線或漢字,+則與*差不多,區別是+包括重復0次,而*就可以。=就ushi匹配=號兩個斜杠則表示正則表達式的分界。

2、正則表達式的限定符有:ThinkPHP的自動驗證機制是為了進行表單數據驗證,驗證可以支持function、callback、confirm、equal、unique和regex,這里要講的是使用正則表達式進行驗證。特殊字元許多元字元要求在試圖匹配它們時特別對待。

3、^/?[a-zA-Z0-9=:]*$!是對php中單引號的轉義。或者還有更簡單的!^/?[a-z0-9=:]*$!ii表示忽略大小寫。模式分隔符就是為了區分表達式和像i這樣的模式修飾符而設計的。

4. 超常用的PHP正則表達式收集整理

以下就是對超常用的PHP正則表達式進行的收集整理,為了方便大家更快更好的掌握php正則表達式。
一、表單驗證匹配
驗證賬號,字母開頭,允許
5-16
位元組,允許字母數字下劃線:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
驗證賬號,不能為空,不能有空格,只能是英文字母:^\S+[a-z
A-Z]$
驗證賬號,不能有空格,不能非數字:^\d+$
驗證用戶密碼,以字母開頭,長度在
6-18
之間:^[a-zA-Z]\w{5,17}$
驗證是否含有
^%&',;=?$\
等字元:[^%&',;=?$\x22]+
匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配騰訊QQ號:[1-9][0-9]{4,}
匹配日期,只能是
2004-10-22
格式:^\d{4}\-\d{1,2}-\d{1,2}$
匹配國內電話號碼:^\d{3}-\d{8}|\d{4}-\d{7,8}$------------評註:匹配形式如010-12345678
或0571-12345678

0831-1234567
匹配中國郵政編碼:^[1-9]\d{5}(?!\d)$
匹配身份證:\d{14}(\d{4}|(\d{3}[xX])|\d{1})------------評註:中國的身份證為15
位或18

不能為空且二十位元組以上:^[\s|\S]{20,}$
二、字元匹配
匹配由
26
個英文字母組成的字元串:^[A-Za-z]+$
匹配由
26
個大寫英文字母組成的字元串:^[A-Z]+$
匹配由
26
個小寫英文字母組成的字元串:^[a-z]+$
匹配由數字和
26
個英文字母組成的字元串:^[A-Za-z0-9]+$
匹配由數字、26個英文字母或者下劃線組成的字元串:^\w+$
匹配空行:\n[\s|
]*\r
匹配任何內容:[\s\S]*
匹配中文字元:[\x80-\xff]+
或者
[\xa1-\xff]+
只能輸入漢字:^[\x80-\xff],{0,}$
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
三、匹配數字
只能輸入數字:^[0-9]*$
只能輸入n位的數字:^\d{n}$
只能輸入至少n位數字:^\d{n,}$
只能輸入m-n位的數字:^\d{m,n}$
匹配正整數:^[1-9]\d*$
匹配負整數:^-[1-9]\d*$
匹配整數:^-?[1-9]\d*$
匹配非負整數(正整數
+
0):^[1-9]\d*|0$
匹配非正整數(負整數
+
0):^-[1-9]\d*|0$
匹配正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配浮點數:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配非負浮點數(正浮點數
+
0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配非正浮點數(負浮點數
+
0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
四、其他
匹配HTML標記的正則表達式(無法匹配嵌套標簽):<(\S*?)[^>]*>.*?</\1>|<.*?
/>
匹配網址
URL
:[a-zA-z]+://[^\s]*
匹配
IP
地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
提示
上述正則表達式通常都加了
^

$
來限定字元的起始和結束,如果需要匹配的內容包括在字元串當中,可能需要考慮去掉
^

$
限定符。
以上正則表達式僅供參考,使用時請檢驗後再使用,希望通過這些超常用的PHP正則表達式

5. 怎麼用php正則獲得a標簽內的文字啊

php中正則匹配只要使用這兩個函數:

preg_match_all

preg_match

這里使用preg_match_all,代碼如下:

$subject='<ahref="xxx.php">abc測試</a>';//假設這是需要匹配的字元串

$pattern='/<ahref="[^"]*"[^>]*>(.*)</a>/';//這是匹配的正則表達式

preg_match_all($pattern,$subject,$matches);//開始匹配,該函數會把匹配結果放入$matches數組中


echo"<pre>";
print_r($matches);
/**
結果是:

Array
(
[0]=>Array
(
[0]=>abc測試
)

[1]=>Array
(
[0]=>abc測試
)

)

*/

6. 求php正則表達式 要求匹配 純英文字元串#純數字(位數不限), 謝謝

  1. 正則為:/^[a-z0-9#]*$/


  2. 檢測代碼如下:

$str='####1414adsad';
if(preg_match("/^[a-z0-9#]*$/",$str))
{
echo"驗證成功";
}
else
{
echo"驗證失敗";
}

3. 可以改變$str的值來檢測,該正則是否正確

7. php 正則表達式 url匹配

1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。

熱點內容
我的世界友好伺服器ip地址 發布:2024-11-22 20:13:53 瀏覽:973
低配捷達能升級哪些配置 發布:2024-11-22 19:59:54 瀏覽:255
小溪流水聲解壓 發布:2024-11-22 19:59:03 瀏覽:627
datepickerandroid 發布:2024-11-22 19:54:31 瀏覽:655
方舟編譯器與虛擬機 發布:2024-11-22 19:44:15 瀏覽:141
nas存儲應用場景 發布:2024-11-22 19:17:07 瀏覽:976
美年大健康體檢查詢密碼是什麼 發布:2024-11-22 19:14:49 瀏覽:747
wps存儲找不到了 發布:2024-11-22 19:09:21 瀏覽:524
蘋果訪問報告 發布:2024-11-22 19:06:03 瀏覽:658
區域網訪問虛擬主機 發布:2024-11-22 19:01:05 瀏覽:517