php正则,匹配,能不能用中括号

作者&投稿:哈军 (若有异议请与网页底部的电邮联系)
php正则如何匹配中括号中的数字呢?~

preg_match_all('/[\d]+/','[1,2,3,4,5]',$arr);
print_r($arr);

楼上解析json的方法已经足够了,但是不知道你实际问题的需求,下面是正则实现。

<?php
$str = '{"i":"20121019-023","b":"94243"}';

preg_match_all('/{"i":"(.*?)","b":"(.*?)"/i',$str,$m);

var_dump($m);

//array(3) { [0]=> array(1) { [0]=> string(31) "{"i":"20121019-023","b":"94243"" } [1]=> array(1) { [0]=> string(12) "20121019-023" } [2]=> array(1) { [0]=> string(5) "94243" } }

//End_php

不行,中括号和小括号在正则表达式中功能完全不一样。
小括号是分组,中括号是字符集合,只有当小括号中各个分组都是一个字符的极端情况下,才能以中括号的方式改写,如:(a|b|c)基本等价于[abc],其稍许的区别也还有,在于“捕获”的概念。
建议你找一个正则表达式的教程看看。

"/.*?\.(php|htm|html|asp)$/"
这可以符合你的需求了,怎么非得要中括号呢?


php写一个正则表达式 匹配逗号
<?php$str="pen,pencil,pencil-case,ruler,eraser";$pattern="\/\\,\/i";echo preg_replace($pattern,"",$str,-1);?>说明:mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit] )pattern 要搜索的模式。可以使一个字符串或字符串数组。replacement 用于替换的...

正则表达式
x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。[xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain...

什么是正则表达式?举例说明一下
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。正则表达式是由普通字符(例如字...

oracle 的正则表达式
Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。特殊字符:'^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。'$' 匹配输入字符串的结尾...

集群和负载均衡的区别 nginx
通过Nginx的反向代理已经支持灵活的正则表达式匹配,可以实现网站的动、静分离,让动态的php等程序网页去访问php web服务器,让缓存页、图片、javascript、css、flash去访问Squid等缓存服务器或文件服务器。加之Nginx对静态内容的高性能,高并发量,Nginx作为前端代理负载均衡成为越来越多架构师的首先方案。 已赞过 已踩过...

不能输入特殊字符可以输入@_.的正则表达式?
wd=%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Yzm1f1mWcsmHPBuymdmWRz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1TYPHRYPW03PWf4nWRLrjD1n6" target="...

Linux ,Unix 下如何去筛选Log信息
除了楼上说的,你还可以考虑用perl写个小脚本。设个计数器,用正则表达式捕捉到Hell,Baby之后计数器开始计数,同时把相关内容输出到out文件中。计数器到500时退出。

js正则匹配符号中间
按照你的要求编写的Javascript语言的匹配符号中间数据的程序如下 var str='"tag":"0","hpmax":"330","actortype":"1"\\r\\n"tag":"1","hpmax":"340","actortype":"1"\\r\\n"tag":"2","hpmax":"350","actortype":"1"\\r\\n"tag":"3","hpmax":"360"...

java中和javascript中的函数、正则表达式、数组、选择结构和循环函数...
javascript 与 java的正则表达式本身相同的,如果你会用javascript写正则,那么一定也很快会使用java写正则,两门语言对正则的支持都很完美,几乎支持正则中的所有功能,我所有项目中使用的正则没有匹配不了的。两门语言在现代机器上执行效率都很好。数组,javascript只支持一维数组,但是可以模拟出多维数组:...

虫师django是如何工作的
2、URL分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。 3、模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。 4、表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单...

宜章县18831222141: php中的正则表达式,实在弄不懂横线“ - ”的作用,如下 -
慈伊噻吗: 横杠就是横杠的意思啊,就是横杠这个符号啊....就和w就是w这个字母是一个意思啊,横杠在正则中并不是具有语意的符号吧....不对,需要补充一下除了a-z,0-9之类这种写法外,-是没有语意的

宜章县18831222141: PHP正则匹配问题preg - match("/([a - zA - Z]+)/","tech/web",$dirinfo); -
慈伊噻吗: 使用括号会对匹配结果进行分组.在匹配结果中,键为0的表示整个正则匹配的内容,之后的是对应的括号中匹配的东西.另外,你这里使用的是preg_match,所以只会匹配一个结果,如果想匹配所有的话,就使用preg_match_all 为了应正上面的描述,你可以运行以下代码试试:$dirinfo = array(); preg_match_all("/([a-zA-Z]+)\d+/","tech01/web",$dirinfo); print_r($dirinfo);

宜章县18831222141: php 提交表单时,如何使用正则表达式,求指点???? -
慈伊噻吗: 你是想判断邮箱格式正不正确吧,你可以填写的邮箱格式用form表单传过来,然后找一个判断邮箱格式的正则表达式,或者自己写一个. 比如: $email = $_POST['email']; $pattern = ' /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/'; if(preg_match($pattern,$email)){ echo '邮箱符合要求'; }else{ echo '邮箱不符合要求'; } 类似就这样用

宜章县18831222141: php中正则表达式中必须转义的字符有哪些 -
慈伊噻吗: 需要转义的字符有:\ . * ^ & [ ] { } ? 等 注意的是如果在[]字符集合里,很多字符都不需要转义 建议你看一下这篇基础教程:http://deerchao.net/tutorials/regex/regex-1.htm

宜章县18831222141: 中括号 这个用正则表达式匹配怎么写 -
慈伊噻吗: pHP中正则表达式文本是使用 / 来界定表达式开始和结束的 preg_replace('/\[.*?\]/','',$string)

宜章县18831222141: php 中文标点逗号','怎么用正则匹配 -
慈伊噻吗: 现在都在用str_replace,preg_replace现在用的如果你的服务器比较新,可能不支持.上楼说的不对应该是:str_replace('/[\,]/',"\\",$goods['keywords']).

宜章县18831222141: php 正则 匹配 括号内数字 -
慈伊噻吗: 你的已经是写“对”了的,只不过你没有提取数字而已.改一下模式:'/\(([\s\S]*?)\)/',这样就能利用$matchPlayers[1]得到你要的数字了.在模式中,括号有子模式的作用,也就是从左到右,括号引起的数据从1开始到n,在匹配结果中用下标1到n提取.$matchPlayers[0]则是总结果.详细参考PHP手册.

宜章县18831222141: 【PHP】怎样用正则表达式取【】中括号内的内容并替换 -
慈伊噻吗: 这里是下载地址:7vd .cn/heE(去掉点前空格) 核心代码:$result = mysql_query("SELECT * FROM `query_replace` WHERE uid=33",$conn);$data = mysql_fetch_assoc($result);$html='[email]你好:你于[time]设置了[action]';$keys = array_...

宜章县18831222141: 正则匹配类似于公司名称,中文汉字+小括号符号,限制长度为:30个字符 -
慈伊噻吗: 非空格 : [^ ] ------ 注意符号'^'后面有一空格 一个(含一个)以上个的非空格 : [^ ]+ 不包含空格字符的行 : ^[^ ]+$ 因此最终表达式为1^[^ ]+$

宜章县18831222141: PHP正则表达式怎么表示中括号 -
慈伊噻吗: 楼上解析json的方法已经足够了,但是不知道你实际问题的需求,下面是正则实现.<?php $str = '{"i":"20121019-023","b":"94243"}'; preg_match_all('/{"i":"(.*?)","b":"(.*?)"/i',$str,$m); var_dump($m); //array(3) { [0]=> array(1) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网