2016-08-16 17 views
1
に置き換える正規表現

DataViewで実行するSQL Where句がありますが、C#DataViewはBETWEEN演算子を受け入れません。BETWEEN SQL演算子をAND

前: 2010年の間で2014

後:> = 2010年< = 2014

I年私がして、例えば、クエリ文字列に演算子の間の任意に変換する必要がありますこのパターン

$.+ BETWEEN .+ AND .+/ 

しようとしたが、それはまた、これまで

何を交換しない、動作しませんでした
+0

試してみました。「置き換え」(「間」、「AND」)? –

+0

コードを投稿して助けが必要ですか? – uTeisT

+0

これはregex replaceで操作する文字列です。私はそのポストで例を挙げました。 –

答えて

1

このに動作しますが、私はあなたが必要な構文に一致するクエリを記述する方が良いと思う...私は整数にここ取り扱いを制限してい

var sql = "blah Year BETWEEN 2010 and 2014 blah"; 
var munged = Regex.Replace(sql, 
    @"\s([A-Za-z0-9_.]+)\s+BETWEEN\s+([0-9]+)\s+and\s+([0-9]+)\s", 
    " $1 >= $2 and $1 <= $3 ", RegexOptions.IgnoreCase); 

注意。ストリングに対応するためにそれを拡張することははるかに複雑です。

+0

ありがとう、それは動作します。 –