2011-06-24 27 views
0

以下字符串(SQL查詢)的正則表達式模式是什麼?驗證使用正則表達式的簡單選擇查詢

Select col1,colo2,col3 form tablename where col1='this is a test' 

它沒有需要由不同等
只需簡單的選擇和where子句來樣訂貨。

+0

你用的是什麼正則表達式? –

回答

4

這支持在你的逗號等靈活的空間。該生的正則表達式應該是這樣的:

^Select\s+(?:\w+\s*(?:(?=from\b)|,\s*))+from\s+\w+\s+where\s+\w+\s*=\s*'[^']*'$ 

你需要轉義任何平臺特定的字符(例如,在C#中,\s需要爲\\s。)在C#中,它看起來像這樣:@"^Select\s+(?:\w+\s*(?:(?=from\b)|,\s*))+from\s+\w+\s+where\s+\w+\s*=\s*'[^']*'$"

另外,不要忘記讓你的表情忽略大小寫。在JavaScript中,它可能以/i這樣結束:/select ...+/i

1

這取決於您想用於檢查的正則表達式風格或工具。但是,這樣的事情可能工作:

/select ([a-z0-9_]+,?)+ from [a-z0-9_]+ where [a-z1-9_]+='[a-z0-9_ ]+'/ 

HTH