Лучшее регулярное выражение для исходной задачи будет
найти expr .: {: i \ .Text}
заменить expr .: Int32.Parse (\ 1)
Выезд:
http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx
для окончательного руководства по регулярным выражениям в VS.
Я недавно завершил переформатирование проекта другого программиста на C ++ из ада. Он полностью и произвольно ввел или пропустил произвольно пробелы и символы табуляции, отступы (или нет) и уровень вложенности скобок безумный , так что никто из нас не использовал кодирование стандартов любого типа. даже начать читать код, прежде чем я начал. Регулярно используется регулярное выражение для поиска и исправления аномальных конструкций. За пару часов я смог исправить основные проблемы примерно в 125 000 строк кода, фактически не рассматривая большинство из них. В одном конкретном поиске / замене я изменил более 22 000 строк кода в 125 файлах, общее время меньше 10 секунд.
Особенно полезные конструкции в регулярном выражении:
: b + == одна или несколько пробелов и / или вкладок.
: i == соответствует имени или ключевому слову переменной в стиле C (то есть, если, если,
pick3, bNotImportant)
: Wh == символ пробела; не просто пусто или вкладка
: Sm == любой из арифметических символов (+, -,>, = и т. Д.)
: Pu == любой знак пунктуации
\ n == разрыв строки (полезно для нахождения, где он вставил 8 или 10 пустых строк)
^ == соответствует началу строки ($ соответствует концу)
Хотя было бы неплохо соответствовать некоторому другому стандарту регулярных выражений (duh), я нашел ряд расширений MS, чрезвычайно полезных для поиска в кодовой базе, таких как отсутствие необходимости определять «идентификатор» сотни раз как « [A-Za-z0-9] + ", вместо этого просто используя": i ".