文档章节

php 正则表达式界限符

斑驳
 斑驳
发布于 2013/06/21 09:29
字数 314
阅读 67
收藏 0
点赞 0
评论 0

问题:正则表达式“|<[^>]+>(.*)</[^>]+>|U”里的一对竖线“|”和 U 分别代表什么?

答案:一对竖线“||”是正则表达式的界限符。大家最熟悉的的界限符应该是一对斜杠‘’//‘’,如“/^[a-z]+$/”,实际上在 PHP 语法中,正则表达式的界限符可以用任何其他字符来代替斜杠,如:

<?php
if(preg_match('/<[^>]+>(.*)<\/[^>]+>/U', '<a href="http://www.baidu.com">Go</a>')) { // 常见的写法,表达式中的斜杠要用 “\” 转义一下
    echo 'match!!!<br />';
}

if(preg_match('|<[^>]+>(.*)</[^>]+>|U', '<a href="http://www.baidu.com">Go</a>')) { // 本文的写法
    echo 'match!!!<br />';
}

if(preg_match(',<[^>]+>(.*)</[^>]+>,U', '<a href="http://www.baidu.com">Go</a>')) { // 用逗号代替斜杠
    echo 'match!!!<br />';
}

if(preg_match('#<[^>]+>(.*)</[^>]+>#U', '<a href="http://www.baidu.com">Go</a>')) { // 用井号代替斜杠
    echo 'match!!!<br />';
}

// 全部输出match!!!

不用斜杠作为正则表达式的好处是:正则表达式中斜杠‘/’不用转义‘\/’。


修饰符 U 的作用和问号“?” 类似,用于设置"贪婪模式"。

正则表达式默认是贪婪的,比如你上面的 (.*)<,不贪婪的情况下遇到第一个 < 就停止了,贪婪的情况下让 . *匹配所有内容,直到最后一个 < 出现。 

更多的 PHP 正则表达式修饰符请参考这篇博文:http://my.oschina.net/banbo/blog/308073

本文转载自:http://blog.sina.com.cn/s/blog_675879000100j4wj.html

共有 人打赏支持
斑驳
粉丝 11
博文 52
码字总数 9257
作品 0
深圳
程序员
正则表达式简介

1 前言 php被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出某种结果,但是如果用户输入的数据不正确,就会出现问题,比如说某人的生日是"2月30日"!那应该怎么样来检验暑假是...

morebetter1 ⋅ 2011/10/27 ⋅ 0

PHP入门(2)——正则匹配

我们来看下PHP进行正则匹配的一个简单例子:![正则匹配例子][1] 可以通过PHP的内置web服务器来查看运行结果,不出意外的话你可以看到如下输出, 接下来我们来仔细分析这个代码。 preg_match...

abing_hu ⋅ 2014/03/17 ⋅ 0

随手记——正在表达式

PHP 正则表达式语法(一) 正则表达式简介 在某些应用中,往往有时候需要根据一定的规则来匹配(查找)确认一些字符串,如要求用户输入的 QQ 号码为数字且至少 5 位。用于描述这些规则的工具...

youxizhe ⋅ 2014/03/23 ⋅ 0

PHP 正则表达式

思维导图 点击下图,可以看具体内容! 介绍 正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达...

Junn ⋅ 2013/07/01 ⋅ 0

正则指引之匹配模式

所谓匹配模式(match mode),指的是匹配时使用的规则。设置特定的模式,可能会改变对正则表达式的识别,也可能会改变正则表达式中字符的匹配规定。常用的匹配模式一共有4种:不区分大小写模...

柳哥 ⋅ 2015/01/22 ⋅ 1

小蚂蚁学习PHP性能优化(2)--PHP语言级性能优化

接上篇 3. 优化点:尽可能少的使用魔法函数 情况描述:PHP提供的魔法函数,性能不佳 为什么呢?为了给PHP程序员省事,PHP语言为此做了很多 好的方法:尽可能规避使用PHP魔法函数,需要使用的...

嗜学如命的小蚂蚁 ⋅ 2015/09/23 ⋅ 0

PHP中的另类奇葩 正则的讲解

一,什么是正则: 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,...

君满楼001 ⋅ 2017/11/16 ⋅ 0

Java编程之正则表达式

什么是正则表达式? 正则表达式就是人为的定义一些规则,希望计算机按照我们制定的规则执行。正则表达式主要用于操作字符串 java.util.regex包主要包括以下三个类: Pattern类: Matcher类:...

学-无止境 ⋅ 2016/04/05 ⋅ 0

php正则表达式

http://www.cnblogs.com/baochuan/archive/2012/03/12/2391135.html http://www.jb51.net/article/36172.htm http://www.jb51.net/article/75004.htm 前言 正则表达式是烦琐的,但是强大的,......

污湖洞主 ⋅ 2017/04/21 ⋅ 0

一步步学习让我头疼的正则表达式

一、正则表达式简介 二、正则表达式的组成: 1、定界符: 2、原子: 3、元字符 ,+ ,? {m,n} 4、模式修正符(7个,重点3个) 三、正则表达式的函数 附:最常用的正则实践 正则练习";///匹配手...

流云的博客 ⋅ 2015/07/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

收集自网络的wordpress 分页导航的代码教程(全网最全版)

wordpress 分页导航是用来切换文章的一个功能,添加了 wordpress 分页导航后,用户即可自由到达指定的页面数浏览分类文章,而这样的一个很简单功能却有很多朋友在用插件:WP-PageNavi,插件的...

Rhymo-Wu ⋅ 16分钟前 ⋅ 0

微服务 WildFly Swarm 入门

Hello World 就像前面章节中的其他框架一样,我们希望添加一些基本的 Hello-world 功能,然后在其上逐步添加更多的功能。让我们从在我们的项目中创建一个 HolaResources 开始。您可以使用您的...

woshixin ⋅ 22分钟前 ⋅ 0

Maven的安装和Eclipse的配置

1. 下载Maven 下载地址 2. 解压压缩包,放到自己习惯的硬盘中 此处我将其放到了 D:\Tools 目录下。 3. 配置环境变量 右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量。 在系统变量中新建,变...

影狼 ⋅ 30分钟前 ⋅ 0

python pip使用国内镜像的方法

国内源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://......

良言 ⋅ 30分钟前 ⋅ 0

对于url变化的spa应该如何使用微信jssdk

使用vue单页面碰上微信jssdk config验证失败的坑。第一次成功 之后切换页面全部失败,找到了解决方法,第一次验证成功后保存验证信息 切换页面时验证信息直接拿来用,加一个wx.error() 失败时...

孙冠峰 ⋅ 35分钟前 ⋅ 0

Spring Cloud Gateway 一般集成

SCF发布,带来很多新东西,不过少了点教程,打开方式又和以前的不一样,比如这个SCG,压根就没有入门指导,所以这里写一个,以备后用。 一、集成 pom.xml <dependency> <groupI...

kut ⋅ 38分钟前 ⋅ 0

建造模式

《JAVA与模式》之建造模式

Cobbage ⋅ 52分钟前 ⋅ 0

WePY框架开发的小程序如何在微信web开发者工具中运行起来

一、首先需要安装node.js,安装步骤如下: 首先下载安装包 https://nodejs.org/en/download/ 点击下载相应的zip版本 然后将文件夹解压到任意目录 比如我这里解压到了:C:\Program Files\node...

Helios51 ⋅ 今天 ⋅ 0

使用EnumSet 代替位域(32)

1、位域(Bit field):使用or 运算将几个常量合并到一个集合中 位操作,可以有效地执行 AND 、OR 这样的位操作 但是 位域比int 常量枚举缺点更多 2、java.util 包里面的EnumSet 类是有效的替...

职业搬砖20年 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部