preg_match()

创建于 2024-12-03 / 49
字体: [默认] [大] [更大]

❮ PHP 正则表达式参考

实例

使用正则表达式对字符串中的"w3schools"进行不区分大小写的搜索:

<?php
$str = "Visit W3Schools";
$pattern = "/w3schools/i";
echo preg_match($pattern, $str);
?> 亲自试一试 »

定义和用法

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


语法

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

参数值

参数 描述
pattern 必需。包含一个正则表达式,指示要搜索的内容
input 必需。将在其中执行搜索的字符串
matches 可选。此参数中使用的变量将填充一个包含所有找到的匹配项的数组
flags 可选。一组改变匹配数组结构的选项:
  • 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 - 除了之前的 (?P<name>) 之外,命名子模式还可以使用 (?'name') 和 (?<name>) 语法

更多实例

实例

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

<?php
$str = "Welcome to W3Schools";
$pattern = "/w3schools/i";
preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?> 亲自试一试 »
❮ PHP 正则表达式参考
0 人点赞过