PHP实现正则匹配所有括号中的内容

2018-09-07 15:06

阅读:218

  正则表达式:(?<=【)[^】]+

  注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符

  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实现正则匹配所有括号中的内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!


评论


亲,登录后才可以留言!