色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP正則表達式之定界符和原子介紹

本節(jié)內(nèi)容我們將介紹php中正則 表達式的基礎(chǔ)語法:定界符和原子。內(nèi)容包含了定界符的定義以及原子的定義和構(gòu)成等等。其中原子的構(gòu)成十分靈活,以便滿足我們對處理字符串的需求。在這之 前,我們需要先了解一個正則表達式處理函數(shù)preg_match()來進行測試,以方便我們教程示例的進行。

先來看一下正則表達式的定界符、正則表達式的構(gòu)成以及preg_match()函數(shù):

1,正則表達式的定界符。

除了字母、數(shù)字和反斜線/以外的任何字符都可以為定界符號,比如 | |、//、{}、!!等等,但是需要注意,如果沒有特殊需要,我們都使用正斜線//作為正則表達式的定界符號。

2,正則表達式的構(gòu)成。

我們看一下這個公式:/原子和元字符/模式修正符

也就是說,正則表達式的原子和元字符都放在定界符之間,而模式修正符放在定界符之外。

3,preg_match()函數(shù)

我們會在后面進行詳細解釋,這里只是為了幫助測試,其返回一個布爾值,表示是否成功匹配。

了解完以上簡單的內(nèi)容,讓我們進入正題。

正則表達式中的原子

什么是原子?原子是正則表達式的最基本組成單位,而且必須至少要包含一個原子。只要一個正則表達式可以單獨使用的字符,就是原子。

這個概念可能看起來很模糊,沒關(guān)系,下面我們來介紹一下正則表達式中原子的構(gòu)成方式。

原子構(gòu)成方式
1,所有打印(所有可以在屏幕上輸出的字符串)和非打印字符(看不到的,比如空格,換行符等等)

2,如果所有有意義的字符,想做為原子使用,統(tǒng)統(tǒng)使用“/”轉(zhuǎn)義字符進行轉(zhuǎn)義即可。如:/. /* /+ /? /( /</>。

注意:" / "轉(zhuǎn)義字符可以將有意義的字符轉(zhuǎn)成沒意義的字符,還可以將沒意義的字符轉(zhuǎn)為有意義的字符。如:/d表示任意一個十進制的數(shù)字。

3,在正則表達式中可以直接使用一些系統(tǒng)提供的代表范圍的原子,如下面的表格所示:

代表范圍的原子 說明 自定義原子表示法
 /d 表示任意一個十進制的數(shù)字 [0-9]
 /D 表示任意一個除數(shù)字這外的字符 [^0-9]
 /s 表示任意一個空白字符,空格、/n/r/t/f [/n/r/t/f ]
 /S 表示任意一個非空白 [^/n/r/t/f ]
 /w 表示任意一個字 a-zA-Z0-9_ [a-zA-Z0-9_]
 /W 表示任意一個非字,除了a-zA-Z0-9_以外的任意一個字符 [^a-zA-Z0-9_]

4,自定義原子表(使用方括號[]),可以匹配方括號中的任何1個原子。

在上面的表格中我們已經(jīng)將系統(tǒng)提供的范圍原子使用自定義的方式作了等價轉(zhuǎn)換。由于系統(tǒng)不可能提供所有我需要的原子,所以自定義原子表就顯得十分必要了,比如我們想要匹配字母或者數(shù)字,就需要將原子寫成[a-zA-Z0-9]。

這里需要注意:

A,符號“-”表示范圍,如[a-z]表示小寫字母a到z,但千萬不要寫成[a-9]這種形式!

B, 符號“^”表示取反,一定要放在方括號的開頭,比如我們想要匹配非數(shù)字,則原子為[^0-9]。

下面我們來看一下正則表達式原子的使用實例,代碼如下:

復(fù)制代碼 代碼如下:
<?php
$pattern = '//d/';//數(shù)字原子表,也就是正則表達式的模式
$string = 'dsadsadsa';//需要匹配的字符串
if(preg_match($pattern, $string)){
echo "正則表達式<strong>{$pattern} </strong>和字符串 <strong>{$string}</strong> 匹配成功";
}else{
echo "<span style="color: red;">正則表達式{$pattern}和字符串{$string}匹配失敗</span>";
}
?>


注意:自定義原子表中的原子有一個被字符串匹配上,就匹配成功了。而去掉自定義原子表的方括號,則表示匹配整個字符串。如'/abc/'表示字符串中必須有abc這個子串才能被匹配,而'/[abc]/'表示字符串中只要包含a、b和c中的任何一個字符,即被匹配。

大家可以將上面實例中的模式進行修改(也就是正則表達式的模式變量$pattern),進而對我們本節(jié)所講的正則表達式的原子進行驗證。

本節(jié)關(guān)于正則表達式的定界符和原子就介紹完了,相信在練習的基礎(chǔ)上,你已經(jīng)會使用正則表達式的原子了。下節(jié)我們將介紹php正則表達式中的元字符,不要錯過啊。

php技術(shù)PHP正則表達式之定界符和原子介紹,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 双柏县| 宿州市| 镶黄旗| 凤阳县| 龙州县| 香格里拉县| 贺州市| 城步| 民勤县| 潼南县| 桑植县| 化德县| 兴化市| 安宁市| 富裕县| 泾阳县| 宁都县| 泸定县| 出国| 斗六市| 百色市| 上蔡县| 太仆寺旗| 延寿县| 伊春市| 南木林县| 体育| 留坝县| 聊城市| 图片| 连城县| 西平县| 莎车县| 青阳县| 曲靖市| 仙桃市| 铜川市| 贵州省| 雅江县| 洞口县| 马尔康县|