【发布时间】:2014-12-16 01:36:45
【问题描述】:
如果我想按关键字AND 进行拆分,那么与.NET 方法Regex.Split 一起使用的适当正则表达式是什么,如下所示:
A1 = B2 AND A2 = 'M AND M' AND A3 NOT IN ( 'E1' , 'E2' )
这是我想要的结果:
A1 = B2
A2 = 'M AND M'
A3 NOT IN ( 'E1' , 'E2' )
【问题讨论】:
如果我想按关键字AND 进行拆分,那么与.NET 方法Regex.Split 一起使用的适当正则表达式是什么,如下所示:
A1 = B2 AND A2 = 'M AND M' AND A3 NOT IN ( 'E1' , 'E2' )
这是我想要的结果:
A1 = B2
A2 = 'M AND M'
A3 NOT IN ( 'E1' , 'E2' )
【问题讨论】:
试试这个:
string str = "A1 = B2 AND A2 = 'M AND M' AND A3 NOT IN ( 'E1' , 'E2' )";
Regex regex = new Regex(@"(?<!'\w+)\sAND\s(?!\w+')");
string[] arr = regex.Split(str);
分解它,我们从我们的术语开始拆分为“ AND ”。然后我们使用否定的lookbehind来确保它不是以'开头的模式的一部分,后跟一个或多个单词。最后,我们使用否定前瞻来确保它后面没有一个或多个以 ' 结尾的单词的模式。
【讨论】: