字符串形如:JOIN [XXX] ON a=b and x=y
已知只有1个Join,只有1个ON。
我要取得的是[XXX],规则就是在Join之后,在On出现之前的内容,但是中括号中出现的ON则不算。比如
Join [xxx on yyy] ON a=b and x=y
这个也是合法的输入,这种情况下需要取得是[xxx on yyy]求正则。
已知只有1个Join,只有1个ON。
我要取得的是[XXX],规则就是在Join之后,在On出现之前的内容,但是中括号中出现的ON则不算。比如
Join [xxx on yyy] ON a=b and x=y
这个也是合法的输入,这种情况下需要取得是[xxx on yyy]求正则。
比如完全可以是
JOIN XXX ON a=b and x=y这时候取得XXX
Join xxx on yyy ON a=b and x=y
是取 xxx 还是取 xxx on yyy ?
@"(?si)(?<=\bJOIN\s*).*?(?=\s*ON\b)"// 取尽量多的内容(可以含ON):
@"(?si)(?<=\bJOIN\s*).*(?=\s*ON\b)"
这种情况认为非法输入,就是说不在中括号内的on只能有一个,中括号内的on可以有多个。
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n";
}
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n";
}
客客师傅来了。yeah.`