2014-08-29 48 views
0

我有SQL語句的WHERE子句這個「WHERE」子句:似乎無法匹配的元素,其中使用正則表達式

WHERE 1 = 0 AND 0 = 1 AND A = B 

我創建了以下的正則表達式:

\s*(?<SearchCondition>[^,]+?)\s*(?<Connector>(AND|OR|$)) 

,這將創造當輸入字符串是正確的:

1 = 0 AND 0 = 1 AND A = B 

但我將如何適應它給出相同的結果時給出的字符串:

SELECT * FROM SOMETABLE WHERE 1 = 0 AND 0 = 1 AND A = B 

我試圖堅持在我的正則表達式前面的「WHERE」但我不知道如何得到它的權利。我試圖在regexhero: http://regexhero.net/tester/

有人可以指出我在正確的方向嗎?

+0

你的設置和目標尚不清楚。 – Miller 2014-08-29 23:36:15

回答

1

WHERE之前的部分相匹配,並使其爲可選上雙管齊下,

(?:\s+|.*?(?=\S+ \d))?(?<SearchCondition>[^,]+?)\s*(?<Connector>(AND|OR|$)) 

DEMO

+0

這太好了!謝謝。我喜歡這個網站的解釋。 – Denis 2014-08-29 23:40:44