看板 RegExp 關於我們 聯絡資訊
我的String是一個像SQL的Query,有sub select: select A, B from Table where city in ( select id from Table where name in ( select name from Table where id=J )) 現在用 preg_match("/SELECT (.+) FROM (.+) WHERE (.+) IN \([\s]*(.+)\)$/i", $q, $m) Match的結果是(找到第二個from了): Array ( [0] => select A, B from Table where city in ( select id from Table where name in ( select name from Table where id=J )) [1] => A, B from Table where city in ( select id [2] => Table [3] => name [4] => select name from Table where id=J ) ) 我想要的結果是 Array ( [0] => select A, B from Table where city in ( select id from Table where name i [1] => A, B [2] => Table [3] => name [4] => select id from Table where name in ( select name from Table where id=J ) ) 請問要怎麼做才好?謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.198.98
Geniusking:改成(.+?)就work了... 05/20 22:44
TonyQ:這是 greedy 造成的影響。 05/28 16:52