我試圖通過正則表達式來破壞SQL查詢。如果存在ORDER BY,我的目標基本上是抓住FROM和ORDER BY之間的內容。從正則表達式中排除特定的子字符串
因此,例如對於查詢:SELECT * FROM TableA WHERE ColumnA=42 ORDER BY ColumnB
它應該捕獲TableA WHERE ColumnA=42
,並且它還應該捕獲ORDER BY表達式是否不存在。
我能來的最近的是SELECT (.*) FROM (.*)(?=(ORDER BY))
,如果沒有ORDER BY就會失敗。
希望我失去了一些明顯的東西。我一直在使用Expresso在過去的一個小時裏試圖獲得它。
這只是一個小小的修改(通過捕獲將第二捕獲表達式和捕獲順序之間的空間移動到順序中)非常感謝你 – 2010-05-06 18:51:57
非常受歡迎,是的,你是對的。錯過了那一個:D 將更新答案(如果可以的話)) – 2010-05-06 18:58:44