欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-15 22:29:52
...
函数preg_grep()

该函数与preg_match()函数和preg_match_all()不同的是匹配数组中的元素,返回与正则表达式匹配的数组单元,该函数的语法格式如下

array preg_grep(string pattren,array input)

该函数返回一个数组,其中包括了第二个参数input数组中与给定的第一个参数pattern模式相匹配的单元。对于输入数组input中的每个元素,只进行一次匹配。该函数的使用代码示例如下所示:

<?php
$preg = '^d{3,4}-?\d{7,8}';
$arr = array('043212345678','0431-7654321','12345678');
$preg_arr = preg_grep($preg,$arr);
var_dump($preg_arr);
?>

在数组$arr中匹配具有正确格式的电话号(010-1234****等),并保存到另一个数组中。

字符串处理函数strstr()、strpos()、strrpos()、substr()

如果只是查找一个字符串中是否包含某个子字符串,建议使用strstr()或strpos()函数,如果只是简单地从一个字符串中取出一段子字符串,建议使用substr()函数。虽然PHP提供的字符串处理函数不能完成复杂的字符串匹配,但处理一些简单的字符串匹配,执行效率则要比使用正则表达式稍高一些。

函数strstr()搜索一个字符串在另一个字符串中的第一次的出现,该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回FALSE。该函数对大小写敏感,如需进行大小写不敏感的搜索,可以使用stristr()函数。该函数有两个参数,第一个参数提供被搜索的字符串,第二个参数为所搜索的字符串,如果该参数是数字,则搜索匹配数字ASCII值的字符。该函数的使用代码如下所示:

<?php
echo strstr("this is a test!","test");
echo strstr("this is a test!",115);
?>

函数strpos()返回字符串在另一个字符串中第一次出现的位置,如果没有找到该字符串,则返回false。函数strrpos()和函数strpos()相似,用来查找字符串在另一个字符串中最后一次出现的位置。这两个函数对大小写敏感,如需进行对大小写不敏感的搜索,可以使用stripos()和strripos()函数。函数substr()则可以返回字符串的一部分。

以上就是与Perl兼容的正则表达式函数(二)的详细内容,更多请关注其它相关文章!