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

巴扎黑
巴扎黑 原创
2023-03-07 16:30:02 1219浏览

函数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兼容的正则表达式函数(二)的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。