C# 要在SQL运算符和之间替换的正则表达式

C# 要在SQL运算符和之间替换的正则表达式,c#,regex,C#,Regex,我有SQL Where子句要在DataView上运行,但C#DataView不接受BETWEEN运算符。我需要将查询字符串中的任意中间运算符转换为和,例如: 之前:2010年至2014年 之后:年份>=2010年和这是可行的,但我认为您最好编写一个符合所需语法的查询 var sql = "blah Year BETWEEN 2010 and 2014 blah"; var munged = Regex.Replace(sql, @"\s([A-Za-z0-9_.]+)\s+BETWEEN

我有SQL Where子句要在DataView上运行,但C#DataView不接受BETWEEN运算符。我需要将查询字符串中的任意中间运算符转换为和,例如:

之前:2010年至2014年

之后:年份>=2010年和这是可行的,但我认为您最好编写一个符合所需语法的查询

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);
var sql=“2010年至2014年之间的无聊年份”;
var munged=Regex.Replace(sql,
@“\s([A-Za-z0-9]+)\s+介于\s+([0-9]+)\s+和\s+([0-9]+)\s之间”,

“$1>=$2和$1尝试了
.Replace(“BETWEEN”,“and”)
?你能发布你需要帮助的代码吗?这是一个用regex Replace操作的字符串。我在post.woah中给出了一个例子-你需要非常小心使用regex;
BETWEEN.+和。
可以替换一些非常不同的场景,包括WHERE子句中的and”我尝试了这个模式——仅仅向我们展示匹配模式(实际上没有任何替换组)是不够的——我们需要了解整个用法
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);