php在函数使用正则表达式,php正则表达式以及正则函数的使用
隨著正則表達式變得越來越強大和易于使用,php正則表達式也成為了一個非常重要的知識點,正則表達式通常用來查找和替換字符串,最常用的就是信息驗證,驗證用戶輸入的信息格式是否正確,如郵件格式、電話格式、密碼或用戶名格式和長度等等。還有比如采集器之類的軟件程序中,正則也是必用不可!
正則表達式相對于程序語言來說更難學,而且難記,不過學習一些基本語法和使用方法還是不太難的。
1.“/”是定界符,“/”定界符之間的部分就是將要在目標對象中進行匹配的模式。同時為了正則更加靈活,引入了元字符,即“+”, “*”,以及 “?”。
(1)“+”元字符匹配前面的子表達式一次或多次(大于等于1次)
比如:/codetc+/,能夠與“codetcc”匹配,即字母tc后面連續出現一個或多個字母c的字符串相匹配。
(2)“*”元字符匹配前面的子表達式零次或多次(大于等于0次)
比如:/codetc*/能夠與“codetc.com”相匹配
(3)“?”元字符匹配前面的子表達式零次或一次
比如:/codetc?/能夠“codetcer”匹配,即tc后面可以有0個或者1個c
其他重要的元字符:
\s:用于匹配單個空格符,包括tab鍵和換行符;
\S:用于匹配除單個空格符之外的所有字符;
\d:用于匹配從0到9的數字;
\w:用于匹配字母,數字或下劃線字符;
\W:用于匹配所有與\w不匹配的字符;
. :用于匹配除換行符之外的所有字符。
示例:/\s+/用于匹配目標對象中的一個或多個空格字符
2.定位符用于規定匹配模式在目標對象中的出現位置。常用的有“^”, “$”, “\b” 以及 “\B”
(1)“^”定位符規定匹配模式必須出現在目標字符串的開頭
(2)“$”定位符規定匹配模式必須出現在目標對象的結尾
(3)“\b”定位符規定匹配模式必須出現在目標字符串的開頭或結尾的兩個邊界之一
(4)“\B”定位符則規定匹配對象必須位于目標字符串的開頭和結尾兩個邊界之內
3.php的正則匹配模式非常靈活,可以指定某一范圍
例如:
/[A-Z]/
上述正則表達式將會與從A到Z范圍內任何一個大寫字母相匹配。
/[a-z]/
上述正則表達式將會與從a到z范圍內任何一個小寫字母相匹配。
/[0-9]/
上述正則表達式將會與從0到9范圍內任何一個數字相匹配。
/([a-z][A-Z][0-9])+/
上述正則表達式將會與任何由字母和數字組成的字符串
4.可以同時與多種模式選擇匹配
x|y:匹配x或y
如/codetc.com|codetc|100/可以與“codetc.com” “codetc” “100”相匹配
5.否定符 “[^]”規定目標對象中不能存在模式中所規定的字符串
例如:[^codetc]匹配除了codetc字符外的所有東西
上面我們主要講述了常用的一些語法知識,正則表達式除了難在難記之外,而且還難在運用上,下面來講講正則表達式在PHP中的常用函數。
//preg_match("正則表達式","字符串")用于在字符串中查找匹配項
$email = "test01_match@codetc.com";
if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){
echo '匹配成功
';
}else {
echo '匹配失敗
';
}
//preg_quote("字符串") 在每個有正則表達式語法前面加入一個轉義字符即\
$str = "codetc是一個講述使用PHP開發網站知識的網站";
echo preg_quote($str);
echo "
";
//preg_split("正則","字符串")分割字符串
$php = "+codetc++php網站++++開發技術";
$field = preg_split("/\+{1,}/",$php);
foreach($field as $f){
echo $f." ";
}
echo "
";
//preg_grep("正則","字符串") 與數組匹配后返回新數組
$arr = array("codetc","php網站開發","呵呵","hahaha","測試");
$item = preg_grep("/^php/",$arr);
print_r($item);
echo "
";
//preg_replace("正則","替換內容","原字符串") 很重要,很常用
$a = "歡迎光臨http://www.codetc.com/"; //給http開頭的加上超鏈接
echo preg_replace("/http:\/\/(.*)\//","\${0}","$a");
?>
上面程序運行的結果如下:
總結
以上是生活随笔為你收集整理的php在函数使用正则表达式,php正则表达式以及正则函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秋千是谁画的啊?
- 下一篇: “人人散后君须看”下一句是什么