PHP正規表示式

2021-08-15 06:34:34 字數 2292 閱讀 3446

在php中,正規表示式本質上就是乙個字串.要想正規表示式發揮作用,必須將正規表示式在函式中使用.
pcre正則函式  pcre

posix正則函式

兩條正則函式的功能基本相似,但是pcre使用範圍更廣,效率更高,所以學習pcre這套正則函式.

###正規表示式的組成部分

正規表示式由四部分組成:正則定界符,原子和原子修飾符(元字元),模式修正符
###正則定界符

用於定義正則邊界的符號就是正則定界符.

除了數字,字母和\之外的字元都可以用來當做正規表示式的定界符使用(在php中),推薦使用/作為正則的定界符.

###原子

組成正規表示式的最小單位就是原子.

1.所有可見的字元都是原子.

2.所有不可見字元都是原子.

既有特殊意義的原子.

\d 表示0-9的數字

\d 表示除了0-9之外的所有字元

\s 表示所有不可見字元

\s 表示所有可見字元

\w 表示數字,字母和_

\w 表示除了數字,字母和_之外的字元

無論哪種原子都表示乙個字元!!

###元字元

元字元也叫作原子修飾符.

原子列表

可以指定當前原子的範圍,但是原子列表也僅僅表示列表中的乙個原子.

格式: [原子原子原子...]

如果多個原子是連續的,可以使用-連線,例如[123456] -> [1-6]

[^] 排除列表

原子列表的反向應用,表示除了列表之外的字元中的任意乙個.

+ 表示乙個以上的原子 >=1

* 表示任意個原子 >=0

? 表示0個或1個原子

表示m個原子

表示m個以上的原子

表示m-n個原子

^ 表示必須以制定的字元開頭

$ 表示必須以制定的字元結尾

^$ 表示精確查詢制定的字元 格式:^規則$

. 表示任意乙個字元除了\n

\b 表示詞邊界

常見的詞邊界一般為,空格,標點符號,特殊字元,行的開頭和結束,回車換行.

\b 表示非詞邊界

屬於任何英文單詞的內容字元都是非詞邊界,英文,數字和_

| 表示選擇關係

注意:表示在|左側字元和|右側字元中進行選擇,如果需要限定字元,加()解決,只能選乙個,不能兩個都選。

() 1.改變優先順序

2.將多個原子視為乙個原子處理

3.將內容暫存於記憶體(模式單元)

###模式修正符

i  ignore  忽略大小寫

m multiline 多行匹配模式

x 忽略正規表示式中的所有空白字元

u 改變貪婪模式(正規表示式預設就是貪婪模式)

在正規表示式中使用.*?組合就 表示非貪婪模式.

###正則函式

preg_match  進行一次正則匹配

preg_match_all 進行多次正則匹配

$pattern='/[a-z]+/';

$str = '最近baidu不太平,baidu又攤上事情了,為baidu默哀';

$num=preg_match($pattern,$str,$result);

$num=preg_match_all($pattern,$str,$result);

echo $num;

var_dump($result);

preg_grep陣列過濾

$pattern='/\d+/';

$str =array(123123,'asdasd',345345,'hyuyrthju');

$result=preg_grep($pattern,$str);

var_dump($result);

preg_split 正則切割

$str = 'ad1fk1hgds1gfj1fad1gfh1sagf';

$result=explode('1',$str);

$str = 'ad1fk2hgds3gfj4fad5gfh6sagf';

$result=preg_split('/\d/',$str);

var_dump($result);

執行正規表示式的搜尋和替換

$result=preg_replace($pattern,$replace,$str);

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

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

PHP正規表示式

php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...

PHP正規表示式

今天起,會開始弄乙個php教程系列文章.主要是針對正規表示式的.大概的內容排序是這樣安排的 1.php 中的正規表示式 2.八個實用的php正規表示式 3.如何書寫更易閱讀的php正規表示式 4.半小時精通正規表示式 5.正則在文章採集系統中的應用及常見問題答疑 6.更多策劃中 投稿,完善本系列,讓...