preg_match

(PHP 4, PHP 5)

preg_match — 进行正则表达式匹配

说明

int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )

subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。

如果提供了 matches ,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。

flags 可以是下列标记:

PREG_OFFSET_CAPTURE
如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自 PHP 4.3.0 起可用。

flags 参数自 PHP 4.3.0 起可用。

preg_match() 返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。preg_match_all() 则相反,会一直搜索到 subject 的结尾处。如果出错 preg_match() 返回 FALSE

Tip

如果只想查看一个字符串是否包含在另一个字符串中,不要用 preg_match()。可以用 strpos() 或 strstr() 替代,要快得多。

Example#1 在文本中搜索“php”

<?php
// 模式定界符后面的 "i" 表示不区分大小写字母的搜索
if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) {
    print "A match was found.";
} else {
    print "A match was not found.";
}
?>

Example#2 搜索单词“web”

<?php
/* 模式中的 /b 表示单词的边界,因此只有独立的 "web" 单词会被匹配,
 * 而不会匹配例如 "webbing" 或 "cobweb" 中的一部分 */
if (preg_match ("//bweb/b/i", "PHP is the web scripting language of choice.")) {
    print "A match was found.";
} else {
    print "A match was not found.";
}

if (preg_match ("//bweb/b/i", "PHP is the website scripting language of choice.")) {
    print "A match was found.";
} else {
    print "A match was not found.";
}
?>

Example#3 从 URL 中取出域名

<?php
// 从 URL 中取得主机名
preg_match("/^(http:)?([^//]+)/i",
    "http://www.php.net/index.html", $matches);
$host = $matches[2];

// 从主机名中取得后面两段
preg_match("/[^/.//]+/.[^/.//]+$/", $host, $matches);
echo "domain name is: {$matches[0]}/n";
?>

本例将输出:

    
domain name is: php.net
 
摘自:http://www.php.net/manual/zh/function.preg-match.php

PHP preg_match函数相关推荐

  1. php验证ip地址的函数,php使用preg_match()函数验证ip地址的方法

    本文实例讲述了php使用preg_match()函数验证ip地址的方法.分享给大家供大家参考,具体如下: 代码一.正则实现preg_match("/^(?:25[0-5]|2[0-4]d|1 ...

  2. php preg_match 漏洞,PHP preg_match()函数信息泄露漏洞

    发布日期:2009-09-27 更新日期:2009-09-29 受影响系统: PHP PHP <= 5.3 描述: PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中. ...

  3. php正则匹配preg_match,php正则表达式中preg_match函数的详解

    我们之前给大家介绍了php正则表达式的使用,入门,以及验证邮箱地址,那么我们今天就想大家介绍php正则表达式中的函数preg_match,preg_match函数在php正则表达式中的规则是怎样的? ...

  4. preg_match函数绕过

    PHP preg_match():执行正则表达式匹配 函数语法格式如下: preg_match($pattern,$subject [, &$matches [, $flags = 0 [, ...

  5. PHP preg_match()函数

    preg_match()函数 preg_match()函数用于执行一个正则表达式匹配,如果模式存在返回true,否则返回false. 代码 <?php$name= "JACK" ...

  6. 【PHP】preg_match函数

    author:咔咔 wechat:fangkangfk preg_match函数是进行正则表达式的匹配,成功返回1,否则返回0 参数说明: 参数 说明 pattern 正则表达式 subject 需要 ...

  7. preg_match函数的用法和匹配字符的的含义

    利用 preg_match(),我们可以完成字符串的规则匹配.如果找到一个匹配,preg_match() 函数返回 1,否则返回 0.还有一个可选的第三参数可以让你把匹配的部分存在一个数组中.在验证数 ...

  8. php preg match中文,PHP preg_match 函数怎么匹配中文?

    php中的preg_match()函数总有那么一个傻逼,曾经为了一个人拒绝了所有人,最后却落得一无所有. $filename=$file['name'];if (.preg_match('/\\.(g ...

  9. php正则匹配函数字符串长度,PHP中preg_match函数正则匹配的字符串长度问题

    PHP中preg_match函数正则匹配的字符串长度问题 发布于 2015-10-25 10:24:29 | 166 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: ...

  10. PHP中preg_match函数详解

    目录 函数形式 函数功能 参数详解 pattern sbuject matches 返回值 例子 函数形式 preg_match(string $pattern, string $subject, a ...

最新文章

  1. Servlet学习笔记(三)之HttpServletRequest
  2. nginx 超时时间_我眼中的 Nginx(四):是什么让你的 Nginx 服务退出这么慢?
  3. C++11获取double类型的最大最小值
  4. python for loop步进值_python-对for循环的结果进行排序时保持值连...
  5. 关于Dapper - 能否不创建定义表对应类使用
  6. adaptivitypara设置选0还是1_喝牛奶,选全脂还是低脂?家里人能不能喝同1种牛奶?...
  7. C#LeetCode刷题-多线程
  8. Kubernetes持久化存储Cephfs
  9. Epic Games表示不服苹果垄断案裁决 继续提出上诉
  10. 在Ubuntu上安装Docker –分步指南
  11. 又漏了一张发票,所以报销要及时
  12. 富士施乐m115b怎么连接电脑_富士施乐m115b打印机驱动下载-富士施乐m115b驱动下载 v1.0.1.00官方版--pc6下载站...
  13. define is not defined解决办法
  14. 提升网页加载速度 | google网站速度测试
  15. XSS 之 haozi me 题解——人生第一份CSDN题解
  16. Unreal4 入门(安装)
  17. 实验室安全与危化品信息管理平台建设
  18. 微信公众号发送汉字乱码
  19. 计算机专业的女生适合干什么工作?
  20. Quartus II实验二 运算部件实验:并行乘法器

热门文章

  1. subsequence和substring的区别
  2. 20210122 记一次防止m3u8网页视频被破解和下载的思路
  3. HP 3PAR 8440硬盘更换
  4. 二维码的工作原理是什么?
  5. [强网杯2021]XBUUCTF[QWB2021 Quals]popmaster复现记录
  6. android中九宫格的布局,Android布局--九宫格示例.doc
  7. 编译原理学习笔记 3.3 正则文法的状态图
  8. 和数(一个数等于另外两个数之和)
  9. Java_JDBC及连接池
  10. 学业计算机水平考试试题,信息技术学业水平考试试题