正则表达式:(?<=【)[^】]+
注:以匹配中文括号中内容为例,若是匹配非中文括号,则须要在括号前增长转义符php
PHP实现示例:正则表达式
<?php $strSubject = "abc【111】abc【222】abc【333】abc"; $strPattern = "/(?<=【)[^】]+/"; $arrMatches = []; preg_match_all($strPattern, $strSubject, $arrMatches); var_dump($arrMatches);
执行结果:spa
~ » php mytest/test_preg.php iwaimai@bogon array(1) { [0]=> array(3) { [0]=> string(3) "111" [1]=> string(3) "222" [2]=> string(3) "333" } }
解析:
一、(?<=【)
第一个表达式是一个『非获取匹配』,即匹配括号,但并不获取括号;code
二、[^】]+
第二个表达式中[]
匹配单个字符,^】
表明除了】
的字符,+
是限定符表明匹配前面子表达式一次或屡次,即匹配除了】
的连续多个字符;ip
组合起来即实现了预期效果~string