正則表達式:(?<=【)[^】]+
注:以匹配中文括號中內容爲例,若是匹配非中文括號,則須要在括號前增長轉義符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