in reply to How can I find nested delimiters?
One thing to remeber about regular expressions in perl are that the charactors "*" and "+" are "greedy". In other words they will gobble up all the charactors they possibly can befor they fail. Hence the "*?" and "+?" constructions that make them "non-greedy" or rather they stop gobbling up charactors as soon as they make a match. so here is where greedy regular expressions come in handy
$text = "QUERY = \"SOME QUERY WITH \"\" (DOUBLE QUOTES)\" YEEHA"; $text =~ m/^(.*)"+\s(\w+)$/g; print "dollar one =$1\n\ndollar two = $2\n\n"; # $1 == QUERY = "SOME QUERY WITH "" (DOUBLE QUOTES) # $2 == YEEHA
Just for fun try it like this and see what you get"
$text =~ m/^(.*)?"+\s(\w+)?$/g;
|
|---|