Visual Studio, Найти и заменить, регулярное выражение - PullRequest
128 голосов
/ 30 июня 2010

Я пытаюсь заменить все #include "whatever.h" на #include <whatever.h>, используя функцию поиска и замены в Visual Studio 2005. Я использовал регулярное выражение \#include \"[a-z\.h]+\", чтобы найти оператор включения. Но мне интересно, как создать замену регулярное выражение.

\#include \<[a-z\.h]+\> не работал и не будет; он заменяет оператор #include "whatever.h" на #include <[a-z.h]+>. Как мне создать заменяющее регулярное выражение, чтобы сохранить whatever.h как есть?

1 Ответ

208 голосов
/ 30 июня 2010

Для версий до Visual studio 2012:
Работает, когда я делаю это:
найти include "{[a-zA-Z]+\.h}",
заменить на include <\1>.
Наиболее важными частями для вашего вопроса являются фигурные скобки {} и обратная ссылка \1: \n ссылки на n-ю группу, указанную фигурными скобками в поисковом выражении.

Для версий Visual studio 2012 и выше:
Начиная с VS2012. Используются регулярные выражения .NET Framework.Так что там должно быть:
найти include "([a-zA-Z]+\.h)",
заменить на include <$1>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...