网络编程 
首页 > 网络编程 > 浏览文章

php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

一、小括号()、中括号[]、大括号的区别

 1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟“|”(或)符号搭配使用,是多选结构的

  示例1:string name = "way2014"; regex:(way|zgw) result:结果是可以匹配出way的,因为是多选结构,小括号是匹配字符串的

  示例2:string text = "123456789"; regex:(0-9) result:结果是什么都匹配不到的,它只匹配字符串"0-9"而不是匹配数字, [0-9]这个字符组才是匹配0-9的数字

 2>.中括号[]:匹配字符组内的字符,比如咱们常用的[0-9a-zA-Z.*"1234567890"; regex:[0-9] result:结果是可以匹配出字符串text内的任意数字了,像上边的【或符号“|”在字符组内就是一个普通字符】

  示例2:string text = "a|e|s|v"; regex:[a|e|s] result:结果就是匹配字符a、e、|三个字符,这个跟(a|e|s)有区别的,区别就是(a|e|s)匹配的是a、e、s三个字符的随意一个,三个中的任意一个,这是的|是元字符

 3>.大括号{}:匹配次数,匹配在它之前表达式匹配出来的元素出现的次数,{n}出现n次、{n,}匹配最少出现n次、{n,m}匹配最少出现n次,最多出现m次

更多的可以参考这篇文章:https://www.jb51.net/article/141294.htm

测试代码

$str="你好<我>(爱)[北京]{天安门}";

echo f1($str); //返回你好 
echo f2($str); //返回我 
echo f3($str); //返回爱 
echo f4($str); //返回北京 
echo f5($str); //返回天安门

function f1($str) 
{ 
$result = array(); 
preg_match_all("/^(.*)(",$str, $result); 
return $result[1][0]; 
} 
 
function f2($str) 
{ 
$result = array(); 
preg_match_all("/(",$str, $result); 
return $result[1][0]; 
}

function f3($str) 
{ 
$result = array(); 
preg_match_all("/(",$str, $result); 
return $result[1][0]; 
}

function f4($str) 
{ 
$result = array(); 
preg_match_all("/(",$str, $result); 
return $result[1][0]; 
}

function f5($str) 
{ 
$result = array(); 
preg_match_all("/(",$str, $result); 
return $result[1][0]; 
} 

PS: ("color: #800000">PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

上一篇:php使用json_encode对变量json编码
下一篇:PHP中的Memcache详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?