php - reg exp match everything inside curly braces -
i have php code , want match inside curly braces {}
$sentence= "this {is|or|and} {cat|dog|horse} {kid|men|women}"; preg_match("/\{.*?\}/", $sentence, $result); print_r($result); but output:
array ( [0] => {is|or|and} ) but need result this:
array ( [0] => is|or|and [1] => cat|dog|horse [2] => kid|men|women ) what regular expression should use?
use preg_match_all instead?
preg_match_all("/\{.*?\}/", $sentence, $result); if don't want braces, can 2 things:
capture parts inside braces , use $result[1] them hamza correctly suggested:
preg_match_all("/\{(.*?)\}/", $sentence, $result); print_r($result[1]); or use lookarounds (they might bit difficult understand however):
preg_match_all("/(?<=\{).*?(?=\})/", $sentence, $result); print_r($result[0]); note can use [^}]* instead of .*?, considered safer.
Comments
Post a Comment