我正在尝试通过查询表达式检查交叉联接。例如,我有以下查询。
string query="select t1.c1, t2.c2" from t1,t2";此查询将交叉连接t1和t2表。我已经尝试了以下方法来检查。
string query="select t1.c1, t2.c2" from t1,t2";
var rx = new Regex(@"\from\s\t1(.*)\,\t2");
if(rx.Match(query)){return "cross-join"}但是我的正则表达式遇到了错误。我不能理解我哪里出错了,因为我是c#中的正则表达式的新手。是否有其他方法可以检查c#中的交叉连接
发布于 2015-12-28 16:18:18
让我们分析您的正则表达式的含义:
\from\s\t1(.*)\,\t2\f是form-feed characterrom - rom\s - one whitespace\t - tab1 - 1(.*) -与possible\,一样多的字符- comma\t -另一个tab2 - 2换句话说,您添加了一堆不需要的转义,并更改了正则表达式的含义。
from\st1(.*)\,t2
另请注意,您的查询中有随机":
"select t1.c1, t2.c2" from t1,t2"
^https://stackoverflow.com/questions/34489841
复制相似问题