正则表达式中的“模式修正符”

1、运算顺序    2、模式修正符

i 正则内容在匹配时候不区分大小写(默认是区分的)

例如:

<?php
$mode="/[a-z]/i"; //加上模式修正符 i 不区分大小写
$str="G";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出: 匹配成功G

m 在匹配首内容或者尾内容时候采用多行识别匹配

例如:

<?php
$mode="/^abc/m"; //加上模式修饰符 m 可识别多行,并不局限于第一行的首部,或者尾部。
$str="google\nabcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出: 匹配成功abc

s 将转义回车取消是为单行匹配如 . 匹配的时候

例如:

<?php
$mode="/a(.*)bc/s"; //加上模式修饰符 s 可忽视 \n 直接匹配 a\nbc。
$str="agooglea\nbcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出: 匹配成功agooglea bc

x 忽略正则中的空白

例如:

<?php
$mode="/a bc/x"; //加上模式修饰符 x 可忽略掉正则表达式里的空格
$str="abcgooglea\nbcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出: 匹配成功abc

A 强制从头开始匹配

例如:

<?php
$mode="/abc/A"; //加上模式修正符 A 强制从头开始匹配
$str="abcgooglea\nabcbac";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出:
匹配成功abc

D 强制$匹配尾部无任何内容 \n

例如:

<?php
$mode="/abc$/D"; //加上模式修正符 D $匹配时尾部不允许有 \n
$str="abcgooglea\nabc\n";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
}else{
echo "匹配失败";
}
?> 输出: 匹配失败

U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束, 常用在采集程序上的正则表达式

<?php
$mode="/<(.*)>/U"; //加上模式修正符 U 只跟踪到最近的一个匹配符并结束。
$str="ppp<b>sss</b>pppp";
$flag=preg_match($mode, $str, $arr);
//print_r($arr);
if($flag){
echo "匹配成功".$arr[0];
print_r($arr);
}else{
echo "匹配失败";
}
?> 输出: 匹配成功
Array ( [0] => [1] => b )

PHP中正则表达式学习及应用(三)

本节内容的视频教程:链接: http://pan.baidu.com/s/1dD2iajf 密码: 3u33

PHP中正则表达式学习及应用(三)的更多相关文章

  1. PHP中正则表达式学习及应用(四)

    正则表达式在PHP中的应用 1.匹配功能 2.替换功能 3.分割功能 例如: <?php $str="addsds{title}hfksjd{author}hfjdkjd{conn}j ...

  2. PHP中正则表达式学习及应用(二)

    正则表达式中的“元字符” * 匹配前一个内容的0次1次或多次 例如: <?php $mode="/go*gle/"; //前一个内容指的是 * 的前一个字符 o ,在$str ...

  3. PHP中正则表达式学习及应用(一)

    1.正则表达式的介绍和作用 什么是正则表达式 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串 的需要.正则表达式就是用于描述这些规则的语法. 例:在判断用户邮件地址格式.手机号码 ...

  4. JAVA中正则表达式学习总结

    一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...

  5. delphi正则表达式学习笔记(三)

    Delphi 中经常使用的正则表达式 在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.  官方网站: http://www.regular-e x ...

  6. JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

    前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...

  7. sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)

    sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...

  8. 深入浅出的javascript的正则表达式学习教程

    深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...

  9. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

随机推荐

  1. 成长为 iOS 大 V 的秘密

    成长为 iOS 大 V 的秘密   前言 毫不谦虚地说,我是国内 iOS 开发的大 V.我从 2011 年底开始自学 iOS 开发,经过 3 年时间,到 2014 年底,我不但写作了上百篇 iOS 相 ...

  2. Coder-Strike 2014 - Round 2

    t题目链接:Coder-Strike 2014 - Round 2 A题:简单水题,注意能加入反复的数字.因此仅仅要推断是否能把Min和Max加入好.就能够了 B题:开一个sum计算每一个聊天总和,和 ...

  3. Java中的class类的cast方法和asSubclass方法

    一般来说cast是转型的意思,但是学java的时间也不短了,class类居然还有cast这个方法,这里来学习一下这个cast有何用. 第一次看到这个cast是在Spring的源码中, spring-f ...

  4. SQL查询刚開始学习的人指南读书笔记(三)值表达式

    CHAPTER 5 Getting More Than Simple Columns Intro Value  expression,it contains column names, literal ...

  5. oracle 日志归档设置

    下面介绍下oracle的日志文档操作 归档日志作用:归档日志(Archive Log)是是处于非活动(INACTIVE)的状态的重做日志文件的备份,它对ORACLE数据库的备份和恢复起至关重要的作用. ...

  6. c# vs2010 连接access数据库

    第一次在博客园写博文,由于文采不怎么好,即使是自己很熟悉的东西,写起来也会感觉到不知从何讲起,我想写的多了就好了. 这篇文章主要是介绍怎么用c# 语言 vs2010连接access数据库的,连接字符串 ...

  7. moving from a host-centric infrastructure to a container-centric infrastructure

    https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Why do I need Kubernetes and what c ...

  8. `npm install`卡住不动,使用`sudo npm install`就可以下载依赖包

    当我在项目中执行npm install的时候,等了几分钟也没有打印信息出来,竟然卡住不动了. 我取消之后再执行sudo npm install发现是可以安装的.只是安装的node_models文件夹不 ...

  9. PAT 天梯赛 L1-054. 福到了 【字符串】

    题目链接 https://www.patest.cn/contests/gplt/L1-054 思路 可以先将字符串用字符串数组 输入 然后用另一个字符串数组 从 n - 1 -> 0 保存 其 ...

  10. office web apps 整合到自己项目中(wopi实现在线预览编辑)

    借助office web apps实现在线预览和在线编辑 我所有的代码都是用go语言编写,你可以直接编译后使用,不用再有其他的操作. 最近项目实在太忙,这几天才有时间,这次是重头戏,要好好琢磨一下怎么 ...