Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Find/Replace in Visual Studio using Regular Expressions

DZone's Guide to

Find/Replace in Visual Studio using Regular Expressions

· Web Dev Zone ·
Free Resource

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

Usually Find/Replace gets the job done for what I need, although sometimes using “Replace All” can break more stuff than it fixes.

But today I had this function I wanted to get rid of and simply change it with a public variable.

So I had something like this.

object->setLayer(/*BLABAL BLA CODE, */);


I want to replace it with something more simple

object->Z = /*BLABAL BLA CODE, */;


So using Visual Studio Find/Replace in regular expressions mode I used this as a search string

setLayer\({.+}\);


And this as a Replace with string

Z=\1;

 


Now, notice the first one, it’s actually simple, you have “setLayer”, followed by “\(” to tell the expression we really need to be that character, after that we have “.+”, which means match any single character except a line break and at least one occurrence. Followed by “\);”

Now if you notice we have curly brackets around the inside of what the function receives as parameter, that’s because we are tagging that string to use it later.

This way on the replace we simply need “Z=” followed by the first tagged string we have “\1″. if we have more curly brackets it would be “\2″, “\3″ etc.

Check the full list for more options: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.80%29.aspx



Source: http://www.david-amador.com/2012/01/findreplace-in-visual-studio-using-regular-expressions/

Deploying code to production can be filled with uncertainty. Reduce the risks, and deploy earlier and more often. Download this free guide to learn more. Brought to you in partnership with Rollbar.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}