Я собираюсь ответить на свой вопрос здесь.Это академический вопрос, потому что, или, конечно, есть принципиальная разница в возможностях контекстно-свободной грамматики и регулярного выражения, как с нетерпением указывали предыдущие комментаторы, плюс существует множество существующих не основанных на регулярных выражениях инструментов, которые будутвыполнить эту функцию для меня.
Я хотел бы изучить негативные возможности Visual Studio.Согласно сообщениям в комментариях здесь и здесь , поведение Visual Studio с негативным прогнозом не ведет себя так, как вы могли бы ожидать при некоторых обстоятельствах (вплоть до того, что некоторые называют его ошибочным).
Я не эксперт по регулярным выражениям, но я ожидаю, что регулярное выражение (throw)
будет соответствовать строке, содержащей только throw
- и это действительно так.Я также ожидал бы, что ~(throw)
(это синтаксис для отрицательного взгляда в Visual Studio) не , чтобы соответствовать той же строке - но в Visual Studio это делает .
Поиграв с уточнением моего исходного регулярного выражения, в том числе с упрощением тестового шаблона, я пришел к выводу, что выполнение негативных предупреждений с использованием текущей реализации поиска по регулярным выражениям в Visual Studio сложно, почти невозможно.