我有要在Visual Studio中搜索的特定模式。
基本上,我想搜索包含await
,但语句末尾缺少ConfigureAwait
的行。
我有一些可在regex-tester(例如regex101.com)中使用的模式,但无法在Visual Studio搜索中使用这些模式。例如,模式(?s)^(.)*(await)((?!ConfigureAwait).)*(.)?(;)
。
我做错了什么?
编辑-我想在我的项目中找到行,例如await DoSomeCoolThings(x, y);
(即缺少ConfigureAwait(...)
。)
但我不想匹配以下行:await DoSomeCoolThings(x, y).ConfigureAwait(false);
最佳答案
如果await
和ConfigureAwait
的顺序无关紧要,则可以使用
(?=.*\bawait\b)(?!.*\bConfigureAwait\b)
否则,如果您认为
ConfigureAwait
应该在await
之后,则可以使用(?=.*\bawait\b(?!.*\bConfigureAwait\b))
有效解决方案
(?=\bawait\b(?!.*\bConfigureAwait\b))
关于正则表达式查找丢失的ConfigureAwait,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36710724/