1,正規表示式的定界符。
除了字母、數字和反斜線\以外的任何字元都可以為定界符號,比如 | |、//、{}、!!等等,但是需要注意,如果沒有特殊需要,我們都使用正斜線//作為正規表示式的定界符號。
2,正規表示式的構成。
我們看一下這個公式:/原子和元字元/模式修正符
也就是說,正規表示式的原子和元字元都放在定界符之間,而模式修正符放在定界符之外。
3,preg_match()函式
我們會在後面進行詳細解釋,這裡只是為了幫助測試,其返回乙個布林值,表示是否成功匹配。
了解完以上簡單的內容,讓我們進入正題。
正規表示式中的原子
什麼是原子?原子是正規表示式的最基本組成單位,而且必須至少要包含乙個原子。只要乙個正規表示式可以單獨使用的字元,就是原子。
這個概念可能看起來很模糊,沒關係,下面我們來介紹一下正規表示式中原子的構成方式。
原子構成方式
1,所有列印(所有可以在螢幕上輸出的字串)和非列印字元(看不到的,比如空格,換行符等等)
2,如果所有有意義的字元,想做為原子使用,統統使用「\」轉義字元進行轉義即可。如:\. \* \+ \? \( \<\>。
注意:" \ "轉義字元可以將有意義的字元轉成沒意義的字元,還可以將沒意義的字元轉為有意義的字元。如:\d表示任意乙個十進位制的數字。
3,在正規表示式中可以直接使用一些系統提供的代表範圍的原子,如下面的**所示:
代表範圍的原子
說明自定義原子表示法
\d表示任意乙個十進位制的數字
[0-9]
\d表示任意乙個除數字這外的字元
[^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個原子。
在上面的**中我們已經將系統提供的範圍原子使用自定義的方式作了等價轉換。由於系統不可能提供所有我需要的原子,所以自定義原子表就顯得十分必要了,比如我們想要匹配字母或者數字,就需要將原子寫成[a-za-z0-9]。
這裡需要注意:
a,符號「-」表示範圍,如[a-z]表示小寫字母a到z,但千萬不要寫成[a-9]這種形式!
b, 符號「^」表示取反,一定要放在方括號的開頭,比如我們想要匹配非數字,則原子為[^0-9]。
下面我們來看一下正規表示式原子的使用例項,**如下:
複製** **如下:
<?php
$pattern = '/\d/';//數字原子表,也就是正規表示式的模式
$string = 'dsadsadsa';//需要匹配的字串
if(preg_match($pattern, $string))和字串匹配成功";
}else和字串匹配失敗";
} ?>
注意:自定義原子表中的原子有乙個被字串匹配上,就匹配成功了。而去掉自定義原子表的方括號,則表示匹配整個字串。如'/abc/'表示字串中必須有abc這個子串才能被匹配,而'/[abc]/'表示字串中只要包含a、b和c中的任何乙個字元,即被匹配。
大家可以將上面例項中的模式進行修改(也就是正規表示式的模式變數$pattern),進而對我們本節所講的正規表示式的原子進行驗證。
**:<?php
//接受表單傳遞過來的資料
$str = $_get['str'];
//$str = "d";
//宣告乙個正規表示式
$pattern = "/./";
//使用乙個正則函式
$result = preg_match($pattern,$str,$match);
//echo '匹配結果為:'.$result;
if($result)else
echo '';
var_dump($match);
?>
PHP之正規表示式
pattern 正規表示式 subject 正規表示式匹配的資料 preg match all pattern,subject,matches 匹配第乙個符合的 preg match 0 9 sdad456dsad5dsa4dsad4e4d e5s8 show1 匹配所有符合標準的 preg mat...
php正規表示式詳解,PHP正規表示式使用詳解
操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...
正規表示式 原子 筆記
筆記直接使用pycharm製作,需要原始檔請私聊。正規表示式 原子import re 普通字元作為原子 string taoyunjiaoyu pat yun rst re.search pat,string print rst print 輸出結果 非列印字元做原子 n 換行 t 製表符 三引號可...