使用preg_match如何获取括号
之间的字符串示例:sdsdds(sdsd)sdsdsd
我想要
sdsd
答案 0 :(得分:7)
preg_match('/\(([^\)]*)\)/', 'sdsdds (sdsd) sdsdsd', $matches);
echo $matches[1]; // sdsd
匹配括号内的字符,包括空值。如果要匹配多个实例,可以使用preg_match_all。
答案 1 :(得分:4)
preg_match('/\((.*?)\)/', $text, $a);
echo $a[1];
答案 2 :(得分:3)
最简单的:
#\(([^\)]+)\)#
它不具有可读性,因为所有(
和)
都必须使用\
进行转义。
#
是分隔符。
使用preg_match
:
$str = 'sdsdds (sdsd) sdsdsd';
$iMatches = preg_match('#\(([^\)]+)\)#', $str, $aMatches);
echo $aMatches[1]; // 'sdsd'