php正则:匹配(),{},[]小括号,大括号,中括号里面的内容

比如有一段字符:

$s=‘60c8

{"code":"200","message":"success","data":[{"_id":"780521","time":1476768196,"position":{"long":108.90415,"lat":35.25623},"speed":495.677952,"anum":"B6552","atype":"A321","atypename":"Airbus A321-231","angle":"198","vspeed":"-576","device":"9d26b827eb566225","onground":"0","updatetime":1476768198,"height":3581.4,"fnum":"CSN3722 ","alert":"0","spi":"0","squawk":"1107","emergency":"0"}]}‘;

  

我要匹配,{}括号里面的内容,单独拿出来。

 preg_match(‘/(?:\{)(.*)(?:\})/i‘, $s, $match);
var_dump($match);

  

说明:

PHP使用正则表达式提取字符串中尖括号<>、小括号()、中括号[]、大括号{}中的字符示例,需要的朋友可以参考下

$str="你好<我>(爱)[北京]{天安门}";
echo f1($str); //返回你好
echo f2($str); //返回我
echo f3($str); //返回爱
echo f4($str); //返回北京
echo f5($str); //返回天安门
function f1($str)
{
$result = array();
preg_match_all("/^(.*)(?:<)/i",$str, $result);
return $result[1][0];
} 

function f2($str)
{
$result = array();
preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result);
return $result[1][0];
}
function f3($str)
{
$result = array();
preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result);
return $result[1][0];
}
function f4($str)
{
$result = array();
preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result);
return $result[1][0];
}
function f5($str)
{
$result = array();
preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result);
return $result[1][0];
}

PS: (?:字符) 表示不捕获这个字符。貌似PHP不支持将字符换成括号。 
否则的话可以将环视给嵌套进去,就可以循环匹配了。 
PS2:环视:(?!) (?=) (?<!) (?<=) 
有小于号的在右侧匹配,没有的在左侧匹配。感叹号表示不等,等于号表示相等。 
PS3:都过了验证器的验证,验证器见参考资料。

时间: 2024-10-13 12:34:37

php正则:匹配(),{},[]小括号,大括号,中括号里面的内容的相关文章

正则表达式:小括号、中括号、大括号的区别

一.小括号().中括号[].大括号的区别 1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟"|"(或)符号搭配使用,是多选结构的 示例1:string name = "way2014";  regex:(way|zgw)  result:结果是可以匹配出way的,因为是多选结构,小括号是匹配字符串的 示例2:string text = "123456789";  regex:(0-9) result:结果是什么都匹配

正则表达式中:小括号、中括号、大括号概述

1.小括号():匹配 小括号内的字符串,可以是一个,也可以是多个: 常跟“|”(或)符号配合使用. 例如  String text="123456789"; text.mathes("(0-9){9}")  ----false "0-9".mathes("(0-9)")  true 2.中括号:匹配字符组内的字符 例:[0-9] 代表0-9内的任意字符 "0".mathes([0-9]) true 3.大括

javascript小括号、中括号、大括号学习总结

作为一名编程人员,和括号打交道是必不可少的.你可知道在不同的上下文中,括号的作用是不一样的,今天就让我们简单总结下javascript小括号.中括号.大括号的用法. 总的来说,JavaScript中小括号有五种语义,中括号有四种语义,而大括号也有四种语义. 小括号: 语义1,函数声明时参数表(形参) 语义2,和一些语句联合使用以达到某些限定作用(if.for等) 语义3,和new一起使用用来传值(实参) 语义4,作为函数或对象方法的调用运算符(如果定义了参数也可与语义3一样传实参) 语义5,强制

shell中的括号(小括号,中括号,大括号)

一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b c d) 2.双小括号 ((  )

shell之小括号、中括号、大括号

1.Shell中变量的原形:${var}  一串命令的执行 #等价于 $ var=test $ echo $var test #例如,用在这个位置 $ echo ${var}AA testAA 2.命令替换$(cmd) 一串命令的执行 命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处 $ ls a b c $ echo $(ls) a b c $ echo `ls` a b c 我们来分析一下命令echo $(ls),以便理解所谓命令替换是

1.3.匹配小括号的字符(可能有小括号在一行的,也有多行的)

web_url("eview.widgets.windows.js", "URL=httos://11.12.205.36:9143/prrtal/themes/default/componets/eview/js/eview.widgets.windown.js" "Resourse=1", "Snapshot=t147.inf", LAST); web_concurrent_end(NULL); web_add_auto_

c# 正则匹配对称括号

https://stackoverflow.com/questions/7898310/using-regex-to-balance-match-parenthesis 原文地址:https://www.cnblogs.com/gaocong/p/9996725.html

shell中的大括号和小括号

一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b c d) 2.双小括号 (( ))

shell中的括号(小括号,大括号/花括号)

在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 现在分述如下: 1.Shell中变量的原形:${var} 大家常见的变量形式都是$va