我有一个非常大的代码库,其中想要查找不包含where cause的所有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
它不起作用。
答案 0 :(得分:1)
你可以试试这个正则表达式:
from(?:(?!where|select)[\s\S])+select
(?:(?!where|select)[\s\S])+
将匹配除where
和select
之外的任何字符(包括换行符),这样您就不必担心贪婪。