PHPpreg_match():执行正则表达式匹配

php 中的 preg_match() 函数可以根据正则表达式对字符串进行搜索匹配,函数的语法格式如下:

成都创新互联-专业网站定制、快速模板网站建设、高性价比青云谱网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式青云谱网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖青云谱地区。费用合理售后完善,十多年实体公司更值得信赖。

preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])

参数说明如下:

  • $pattern:要搜索的模式,也就是编辑好的正则表达式;
  • $subject:要搜索的字符串;
  • $matches:可选参数(数组类型),如果提供了 $matches,它将被填充为搜索结果。 $matches[0] 包含完整模式匹配到的文本, $matches[1] 包含第一个捕获子组匹配到的文本,以此类推;
  • $flags:可选参数,$flags 可以被设置为 PREG_OFFSET_CAPTURE,如果传递了这个标记,对于每一个出现的匹配,返回时都会附加上字符串偏移量(相对于目标字符串的);
  • $offset:可选参数,用于指定从目标字符串的哪个位置开始搜索(单位是字节)。

preg_match() 函数可以返回 $pattern 的匹配次数,它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后将会停止搜索。

【示例】使用 preg_match() 函数搜索一个字符串。

';
    var_dump($matches_1);
    var_dump($num);   //匹配次数为1次
    $pattern_2 = '/def$/';
    $num = preg_match($pattern_2, $subject, $matches_2, PREG_OFFSET_CAPTURE, 3);
    var_dump($matches_2);
?>

运行结果如下:

array(1) {
  [0]=>array(2) {
    [0]=>string(3) "def"
    [1]=>int(11)
  }
}
int(1)
array(1) {
  [0]=>array(2) {
    [0]=>string(3) "def"
    [1]=>int(11)
  }
}

对于第一次匹配,将从字符串的第 8 位搜索与 $pattern_1 匹配的子串,$matches_2 数组中包含匹配得到的子串和其出现在目标字符串中的位置。

注意第二次正则表达式与第一次的正则表达式不同,其中加了一个定位符号
$,表示匹配字符串结尾处的位置。

当前题目:PHPpreg_match():执行正则表达式匹配
文章来源:http://www.shufengxianlan.com/qtweb/news41/267241.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联