I'm attempting to mangle a SQL query via regex. My goal is essentially grab what is between FROM and ORDER BY, if ORDER BY exists.
So, for example for the query: SELECT * FROM TableA WHERE ColumnA=42 ORDER BY ColumnB
it should capture TableA WHERE ColumnA=42
, and it should also capture if the ORDER BY expression isn't there.
The closest I've been able to come is SELECT (.*) FROM (.*)(?=(ORDER BY))
which fails without the ORDER BY.
Hopefully I'm missing something obvious. I've been hammering in Expresso for the past hour trying to get this.