如何为linq语句不包含where子句创建正则表达式

本文关键字:where 子句 创建 正则表达式 包含 linq 语句 | 更新日期: 2023-09-27 17:50:53

我有一个非常大的代码库,我想找到所有不包含where原因的linq语句。

那么,假设我有一个这样的linq语句:

from t in dc.tablename where t.somefield="somevalue" select t

这个语句不应该包含在搜索结果中,但是,如果语句看起来像这样:

from t in dc.tablename select t

应该包含在搜索结果中。

到目前为止,我只创建了一个正则表达式来匹配包含WHERE:

的linq语句。
from(.|'n){1,}(where)(.|'n){1,}select

但是当我尝试这个时:

from(.|'n){1,}^(where)(.|'n){1,}select

如何为linq语句不包含where子句创建正则表达式

你可以试试这个regex:

from(?:(?!where|select)['s'S])+select

(?:(?!where|select)['s'S])+将匹配除whereselect以外的任何字符(包括换行符),因此您也不必担心贪心。