PHP实现正则匹配所有括号中的内容
正则表达式:(?<=【)[^】]+
注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符
PHP实现示例:
<?php $strSubject = "abc【111】abc【222】abc【333】abc"; $strPattern = "/(?<=【)[^】]+/"; $arrMatches = []; preg_match_all($strPattern, $strSubject, $arrMatches); var_dump($arrMatches);
执行结果:
~ » php mytest/test_preg.php iwaimai@bogon array(1) { [0]=> array(3) { [0]=> string(3) "111" [1]=> string(3) "222" [2]=> string(3) "333" } }
解析:
1、(?<=【)
第一个表达式是一个『非获取匹配』,即匹配括号,但并不获取括号;
2、[^】]+
第二个表达式中[]匹配单个字符,^】代表除了】的字符,+是限定符代表匹配前面子表达式一次或多次,即匹配除了】的连续多个字符;
组合起来即实现了预期效果~
总结
以上所述是小编给大家介绍的PHP实现正则匹配所有括号中的内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
php正则匹配html中带class的div并选取其中内容的方法
本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法.分享给大家供大家参考.具体分析如下: 先看一段html代码: 复制代码 代码如下: <div class="chartInfo"> <div class="line"></div> <div class="tideTable"> <strong>潮汐表</strong>数据仅供参
-
PHP中preg_match函数正则匹配的字符串长度问题
项目中,用preg_match正则提取目标内容,死活有问题,代码测得死去活来. 后来怀疑PHP 的preg_match有字符串长度限制,果然,发现"pcre.backtrack_limit "的值默认只设了100000. 解决办法:ini_set('pcre.backtrack_limit', 999999999); 注:这个参数在php 5.2.0版本之后可用. 另外说说关于:pcre.recursion_limit pcre.recursion_limit是PCRE的递归限制,这个
-
PHP正则匹配日期和时间(时间戳转换)的实例代码
先来一个比较简单实用的代码 日期YYYY-MM-DD $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches); var_dump($isMatched, $matches); php需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到php正则判断,以下是代码: <?php //匹配时间格式为2016-0
-
正确的PHP匹配UTF-8中文的正则表达式
我以前一直用这个 复制代码 代码如下: preg_match('~[\x7f-\xff]+~is', $string, $tmp); 今天才发现,上面这个也会匹配到一些欧洲国家的字符 应该用下面这个,注意修正符 u 复制代码 代码如下: preg_match('~[\x{4e00}-\x{9fa5}]+~u', $string, $tmp);
-
PHP中preg_match正则匹配中的/u、/i、/s含义
PHP中preg_match正则匹配的/u /i /s是什么意思 /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象) /s 表示将字符串视为单行来匹配
-
正则匹配密码只能是数字和字母组合字符串功能【php与js实现】
本文实例讲述了正则匹配密码只能是数字和字母组合字符串功能.分享给大家供大家参考,具体如下: 密码要求: 1. 不能全部是数字 2. 不能全部是字母 3. 必须是数字和字母组合 4. 不包含特殊字符 5. 密码长度6-30位的字符串 /** * @desc get_pwd_strength()im:根据密码字符串判断密码结构 * @param (string)$mobile * return 返回:$msg */ function get_pwd_strength($pwd){ if (strle
-
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
本文实例讲述了PHP正则表达式基本用法.分享给大家供大家参考,具体如下: Demo1.php <?php //尝试着写第一个正则表达式 //第一个参数,表示模式(就是和字符串去比较,匹配) //第二个参数,表示字符串 //如果整个函数模式和字符串比较后匹配了,那么返回真(true)1,否则返回假(false)0 //什么叫匹配,就是一个一个的比较过去 //按照什么规则??按照模式来匹配 //只要模式全部通过,那么就通过 //匹配和相等是两个概念 //因为目前的模式是一个整体,php //所以,字
-
PHP实现正则匹配所有括号中的内容
正则表达式:(?<=[)[^]]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: <?php $strSubject = "abc[111]abc[222]abc[333]abc"; $strPattern = "/(?<=[)[^]]+/"; $arrMatches = []; preg_match_all($strPattern, $strSubject, $arrMatches); var_du
-
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
本文实例讲述了PHP基于正则批量替换Img中src内容实现获取缩略图的功能.分享给大家供大家参考,具体如下: 这里PHP用正则批量替换Img中src内容,实现获取图片路径缩略图的功能 网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时才解决. /** * 图片地址替换成压缩URL * @param string $content 内容 * @param string $suffix 后缀 */ function get_img
-
编程语言中十六进制的正则匹配
它由0-9,A-F,组成.与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-F. 也就是由字符:012345679ABCDEF 组成 C语言中的16进制数必须以 0x开头.比如 0x1表示一个16进制数.而1则表示一个十进制.另外如:0xff,0xFF,0X102A,等等.其中的x也不区分大小写.(注意:0x中的0是数字0,而不是字母O) 所以C或C++等编程语言的正则匹配为: 复制代码 代码如下: \b0[xX][0-9
-
java正则匹配HTML中a标签里的中文字符示例
本文实例讲述了java正则匹配HTML中a标签里的中文字符.分享给大家供大家参考,具体如下: 今天群里一位朋友问到了一个正则表达式的问题,有如下内容: <a href='www.baidu.comds=id32434#comment'rewr>特432</a> 453543 <a guhll,,l>a1特123你好123吗?</a> <a href=id=32434#comment'ewrer>特2</a> <a>标签中的
-
Android编程开发中的正则匹配操作示例
本文实例讲述了Android编程开发中的正则匹配操作.分享给大家供大家参考,具体如下: 在Android开发中,可能也会遇到一下输入框的合法性验证,这时候最常用的就应该是正则表达式去做一些匹配了,下面就常用的正则匹配做一下介绍 1. 手机号码的验证 根据实际开发于2009年9月7日最新统计: 中国电信发布中国3G号码段:中国联通185,186;中国移动188,187;中国电信189,180共6个号段. 移动:134.135.136.137.138.139.150.151.157(TD).158.
-
php正则匹配文章中的远程图片地址并下载图片至本地
使用php的正则表达式来实现: $content = '这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">'; $content = stripslashes ( $content ); $img_array = array (); // 匹配所有远程图片 preg_match_all ( "/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png
-
详谈jQuery中的一些正则匹配表达式
jQuery常用正则匹配表达式 //整数 "^-?[1-9]\\d*$", //正整数 "^[1-9]\\d*$", //负整数 intege2: "^-[1-9]\\d*$", //数字 num: "^([+-]?)\\d*\\.?\\d+$", //正数(正整数 + 0) num1: "^[1-9]\\d*|0$", //负数(负整数 + 0) num2: "^-[1-9]\\d*|0$&qu
-
python re正则匹配网页中图片url地址的方法
最近写了个python抓取必应搜索首页http://cn.bing.com/的背景图片并将此图片更换为我的电脑桌面的程序,在正则匹配图片url时遇到了匹配失败问题. 要抓取的图片地址如图所示: 首先,使用这个pattern reg = re.compile('.*g_img={url: "(http.*?jpg)"') 无论怎么匹配都匹配不到,后来把网页源码抓下来放在notepad++中查看,并用notepad++的正则匹配查找,很轻易就匹配到了,如图: 后来我写了个测试代码,把图片地
随机推荐
- Javascript里的两种使用正则的方法
- ListView实现聊天列表之处理不同数据项
- Mysql 5.7.17 winx64免安装版,win10环境下安装配置图文教程
- jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
- python dict 字典 以及 赋值 引用的一些实例(详解)
- JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现
- asp.net RewritePath重定向HTTP头Content-Location暴露真实路径解决方法
- Yii实现复选框批量操作实例代码
- PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
- JavaScript转换数据库DateTime字段类型方法
- jquery简单体验
- js怎么终止程序return不行换jfslk
- Java设计模式开发中使用观察者模式的实例教程
- spring security国际化及UserCache的配置和使用
- Android编程使用缓存优化ListView的方法
- 一个Activity中多个Fragment实现沉浸式状态栏的解决方法
- 详述IntelliJ IDEA提交代码前的 Code Analysis 机制(小结)
- CentOS使用EPEL源的方法步骤
- spring整合atomikos实现分布式事务的方法示例
- 使用java实现“钉钉微应用免登进入某H5系统首页“功能”