Подтвердить что ты не робот

Справка по Visual Studio для поиска и замены регулярных выражений

Я хотел бы заменить некоторые инструкции присваивания, например:

int someNum = txtSomeNum.Text; 
int anotherNum = txtAnotherNum.Text;

с

int someNum = Int32.Parse(txtSomeNum.Text);
int anotherNum = Int32.Parse(txtAnotherNum.Text);

Есть ли хороший способ сделать это с помощью Visual Studio Find and Replace, используя регулярные выражения? Я не уверен, каким будет выражение Regular.

4b9b3361

Ответ 1

Я думаю, что в Visual Studio вы можете отметить выражения с фигурными фигурными скобками {txtSomeNum.Text}. Затем в замене вы можете ссылаться на него с помощью \1. Таким образом, строка замены будет выглядеть как Int32.Parse(\1).


Обновление: через @Timothy003

VS 11 устраняет синтаксис {}\1 и использует() $1

Ответ 3

Это то, что я искал:

Найти: = {. * \. Текст}

Заменить: = Int32.Parse(\ 1)

Ответ 4

Лучшее регулярное выражение для исходной проблемы будет

find expr.: {: я \.Text}

заменить выражение: Int32.Parse(\ 1)

Отъезд: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx

для окончательного руководства по регулярному выражению в VS.

Недавно я завершил переформатирование другого программиста С++ проекта из ада. Он полностью и произвольно ввел или случайно удалил пробелы и табуляции, отступы (или нет) и безумный уровень вложенности круглых скобок, так что никто из нас не использовал стандарты кодирования любого типа, мог даже начать читать код прежде чем я начал. Регулярно используется регулярное выражение для поиска и исправления ненормальных конструкций. Через пару часов я смог исправить основные проблемы примерно в 125 000 строк кода, фактически не глядя на большинство из них. В одном отдельном поиске/замене я изменил более 22 000 строк кода в 125 файлах, общее время менее 10 секунд.

Особенно полезные конструкции в регулярном выражении:

: b + == одна или несколько пробелов и/или вкладок.

: я == соответствует имени переменной или ключевому слову типа C (т.е. while, if,  pick3, bNotImportant)

: Wh == пробел char; не просто пробел или вкладка

: Sm == любой из арифметических символов (+, -, > , = и т.д.)

: Pu == любой знак препинания

\n == разрыв строки (полезно для поиска, где он вставил 8 или 10 пустых строк)

^ == соответствует началу строки ($ to match end)

Хотя было бы неплохо сопоставить какой-либо другой стандарт регулярных выражений (duh), я нашел несколько расширений MS, чрезвычайно полезных для поиска базы кода, например, не нужно определять идентификатор сотни раз как "[A-Za-z0-9] +", вместо этого просто используйте ": я".