Rumah  >  Artikel  >  pembangunan bahagian belakang  >  与Perl兼容的正则表达式函数(一)

与Perl兼容的正则表达式函数(一)

巴扎黑
巴扎黑asal
2017-04-25 13:58:431689semak imbas

字符串的匹配与查找

preg_match()函数和preg_match_all()函数

该函数的语法格式如下所示:

int preg_match/preg_match_all((string pattern,string subject[,array matches])

函数功能:

在字符串subject中匹配表达式pattern。函数返回匹配次数。如果有数组matches,那么每次匹配的结果都将被存储到数组matches中。

该函数有两个必选参数,第一个参数pattern需要提供用户按正则表达式语法编写的模式,第二个参数subject需要一个字符串。该函数的作用就是在第二个字符串参数中,搜索与第一个参数给出的正则表达式匹配的内容。如果提供了第三个可选的数组参数matches,则可以用于保存于第一个参数中的子模式的各个部分的匹配结果。正则表达式中的子模式是使用括号“()”括起的模式单元,其中数组中的第一个元素matches[0]保存了与正则表达式pattern匹配的整体内容。而数组matches中的其他元素,则按顺序依次保存了与正则表达式小括号内子表达式相匹配的内容。例如matches[1]保存了与正则表达式中第一个小括号内匹配的内容,matches[2]保存了与正则表达式中第二个小括号内匹配的内容,依次类推。该函数只做一次匹配,最终返回0或1的匹配结果数。

实例展示:

<?php
$str = &#39;This is an example&#39;;
$preg = &#39;/\b\w{2}\/\&#39;;
$num1 = petg_match($preg,$str,$str1);
echo $num1.&#39;<br/>&#39;
var_dump($str1);
$num2 = petg_match_all($preg,$str,$str2);
echo $num2.&#39;<br/>&#39;
var_dump($str2);
?>

使用.preg_match()函数和preg_match_all()函数来匹配字串$str,并返回各自的匹配次数。

preg_quote()函数

函数语法格式如下:

string preg_quote(string str[,string delimiter])

函数功能:该函数讲字符串str中的所有特殊字符进行自动转义。如果有参数delimiter,那么该参数

所包含的字串也将被转义。函数返回转义后的字串。

实例展示:

<?php
$str = &#39;!、$、^、*、+、.、[、]、\\、/、b、<、>&#39;;
$str2 = &#39;b&#39;;
$match_one = preg_quote($str,$str2);
echo $match_one;
?>

注意:这里的特殊字符是指正则表达式中具有一定意义的元字符。其他如“@”、“#”等则不会被当做特殊字符处理。

Atas ialah kandungan terperinci 与Perl兼容的正则表达式函数(一). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn