2013-11-20 49 views
1

如果我有類似下面的查詢:如何使用正則表達式匹配最後一個where子句?

select ... from table_1 inner join (
    select ... from table_2 inner join table_3 where ...) where (...) 

我怎麼where子句中,我試圖where.+?$的最後一場比賽,但是,它會匹配哪裏,而不是最後一個倒數第二個。

?應該使這個數學非貪婪,這意味着它應該只匹配最後的where

任何想法?

+0

「?」應該使這個數學不貪心,這意味着它只能匹配**非常先**「在哪裏」。 – JoeC

+0

你在用什麼語言? – HamZa

回答

3

用途:

.*(where.+)$ 

.*將貪婪的,所以它會匹配到最後where。然後where.+將與where子句匹配並將其置於捕獲組1中。

相關問題