轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP Timezones


PHP preg_match() 函数


实例

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

<?php
$str = "Visit BEGTUT";
$pattern = "/btschools/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 BEGTUT";
$pattern = "/btschools/i";
preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
亲自试一试 »