Php/func regex preg match

来自菜鸟教程
跳转至:导航、​搜索

PHP preg_match()函数

Reg PHP RegExp参考

使用正则表达式对astring中的“ example”进行不区分大小写的搜索:

<?php

  $str = "Visit W3Schools";
$pattern = "/example/i";
echo 
  preg_match($pattern, $str); 
?>

定义和用法

The preg_match() 函数返回是否在字符串中找到匹配项。

句法

preg_match(pattern, input, matches, flags, offset)

参数值

参数 描述
pattern 需要。包含一个正则表达式,指示要搜索的内容
input 需要。将在其中执行搜索的字符串
matches 可选的。此参数中使用的变量将填充一个包含所有找到的匹配项的数组
flags

可选的。一组用于更改matchs数组结构的选项:

  • PREG_OFFSET_CAPTURE -启用此选项后,每个匹配项(而不是字符串)将是一个数组,其中第一个元素是包含匹配项的子字符串,第二个元素是该子字符串在输入中的第一个字符的位置。
  • PREG_UNMATCHED_AS_NULL -启用此选项后,不匹配的子模式将以NULL而不是空字符串的形式返回。
offset 可选的。预设为0。指示开始搜索到字符串的距离。preg_match()函数将找不到在此参数给定位置之前发生的匹配项

技术细节

返回值: 如果找到匹配项,则返回1;如果没有找到匹配项,则返回0;如果发生错误,则返回false。
PHP版本: 4+
更新日志: PHP 7.2-添加了PREG_UNMATCHED_AS_NULL标志


PHP 5.3.6-当偏移量大于输入长度时,该函数返回false

PHP 5.2.2-命名子模式可以使用(?'name')和(?除了前面的(?P <name>)语法之外的<name>)语法

更多例子

使用PREG_OFFSET_CAPTURE在输入字符串中找到匹配项的位置:

<?php

  $str = "Welcome to W3Schools";
$pattern = "/example/i";

  preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE);

  print_r($matches);
?>

Reg PHP RegExp参考