我有一个非常大的代码库,我想在其中找到所有不包含 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
它不起作用。
最佳答案
你也许可以试试这个正则表达式:
from(?:(?!where|select)[\s\S])+select
(?:(?!where|select)[\s\S])+
将匹配除 where
和 select 之外的任何字符(包括换行符)
这样你也不必担心贪婪。
关于c# - 如何创建正则表达式以匹配不包含 where 子句的 linq 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22487974/