Регулярное выражение в Visual Studio для поиска и замены в этом примере строки? - PullRequest
0 голосов
/ 02 октября 2011

Я хотел бы заменить строки следующим образом:

 Debug.Assert(value == 10.01);

со следующей строкой:

 MyAssert.Equals(value, 10.01);

Какое регулярное выражение для выполнения этого в Visual Studio Studio 2010?

Разъяснение

Существует 1000x экземпляров, каждый из которых имеет свой первый и второй параметры. Эта проблема требует некоторой формы поиска / замены регулярного выражения.

Ответы [ 4 ]

4 голосов
/ 02 октября 2011

Попробуйте:

Найти:

Debug.Assert\({[^]*} == {[^)]*}\)

Заменить на:

MyAssert.Equals(\1, \2);
3 голосов
/ 02 октября 2011

Вы можете заменить

Debug.Assert(value == 

на

MyAssert.Equals(value, 

Возможно, не требуется регулярное выражение.

Таким образом, вы можете использовать регулярное выражение.Например,

Debug.Assert\((.*) ==

и строка замены

MyAssert.Equals(\1,
2 голосов
/ 02 октября 2011

Я думаю, что вы хотите сделать следующее:

Найти все Debug.Assert(<someName> == <someValue>); и заменить это на MyAssert.Equals(<someName>, <someValue>);

С заменой поиска вы не можете оставить someName.

Я бы попробовал:

Поиск: Debug.Assert\({[\S]+} == {[^)]+}\);

Заменить: MyAssert.Equals\(\1, \2\);

Но у меня нет Visual Studio (Я на OS X), чтобы примерить это: -)

0 голосов
/ 06 марта 2014

В Visual Studio 2012 вы используете знак $ для ввода подходящей группы.

* 1003 Е.Г. *

Найти .([a-zA-Z]*)XYZ

Заменить .$1ABC

Это регулярное выражение поиска / замены заменит все поля с суффиксом XYZ и затем изменится на поля с суффиксом ABC.

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