我有要在Visual Studio中搜索的特定模式。
基本上,我想搜索包含await,但语句末尾缺少ConfigureAwait的行。
我有一些可在regex-tester(例如regex101.com)中使用的模式,但无法在Visual Studio搜索中使用这些模式。例如,模式(?s)^(.)*(await)((?!ConfigureAwait).)*(.)?(;)
我做错了什么?
编辑-我想在我的项目中找到行,例如await DoSomeCoolThings(x, y);(即缺少ConfigureAwait(...)。)
但我不想匹配以下行:await DoSomeCoolThings(x, y).ConfigureAwait(false);

最佳答案

如果awaitConfigureAwait的顺序无关紧要,则可以使用

(?=.*\bawait\b)(?!.*\bConfigureAwait\b)

否则,如果您认为ConfigureAwait应该在await之后,则可以使用
(?=.*\bawait\b(?!.*\bConfigureAwait\b))

有效解决方案
(?=\bawait\b(?!.*\bConfigureAwait\b))

关于正则表达式查找丢失的ConfigureAwait,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36710724/

10-13 06:12