in reply to Regex non-greedy match

Change .* to .*?
my $str='"fld":{xz.,"val":"x"},"fldA":{afd;ladf,"val":"valid y"},"fldB +":{adsa;afda,"val":"invalid val x"}...'; my $fldNm="fldA"; if ( $str =~ /"$fldNm".*?"val":"([^"]+)"/ ) { # " print "\n Val = $1 \n"; }

Replies are listed 'Best First'.
Re^2: Regex non-greedy match
by Jessarah FL (Novice) on Oct 11, 2013 at 13:13 UTC
    thanks :)