Лучшее регулярное выражение для исходной проблемы было бы
найти выражение: {:i\.Text}
заменить выражение: 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 (например, while, if, pick3, bNotImportant)
:Wh == символ пробела; не просто пробел или вкладка
:Sm == любой из арифметических символов (+, -, >, = и т.д.)
:Pu == любой знак препинания
\n == разрыв строки (полезно для поиска места, где он вставил 8 или 10 пустых строк)
^ == соответствует началу строки ($ соответствует концу)
Хотя было бы неплохо сопоставить какой-нибудь другой стандарт регулярных выражений (ага), я нашел ряд расширений MS чрезвычайно полезными для поиска в кодовой базе, например, не нужно было сотни раз определять «идентификатор» как «[A- Za-z0-9]+", вместо этого просто используя ":i".
person
Ken
schedule
15.02.2012