|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Ook Visual Studio beschikt bij het zoeken en vervangen van tekst in de editor over de mogelijkheid reguliere expressies te gebruiken. De mogelijkheden zijn echter niet dezelfde als deze van de .NET regex engine zelf. Over het algemeen kunnen we minder doen, met uitzondering van enkele intressante toevoegingen.
Enkele mogelijkheden zien we hieronder : escaped special characters \
metacharacters \n line break
positive character classes [] negative character classes [^]
period character class . any character
quantifiers * zero or more + one or more
positional assertions ^ beginning of line $ end of line
alternations | Tot zover identiek als in de .NET regex engine.
Verschillend is hoe je een groep markeert : group {} instead of () Intressante extras zijn : positional assertions < beginning of word > end of word Stel dat we in onderstaand voorbeeld op zoek wensen te gaan naar de velden, in de veronderstelling dat we voor onze velden steeds de prefix m_ gebruiken. Visual Basic 2010 Broncode Class Rectangle Private m_Height As Double Private m_Width As Double Public Property Height() As Double Get Height = m_Height End Get Set( ByVal value As Double) m_Height = value End Set End Property Public Property Width() As Double Get Width = m_Width End Get Set( ByVal value As Double) m_Width = value End Set End PropertyEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Dan kunnen we in het "Find and Replace" toolvenster in het "Find what:" veld het pattern <m_[a-zA-Z0-9_]*> opnemen. Alle verwijzingen naar deze velden op de regels (1) tot en met (6) worden gevonden.
Bemerk hoe we geen \b ( word break ) kunnen gebruiken, maar gezien de beschikbare < en > vormt dit geen probleem. Ook de shorthand character class \w ( word character ) is niet beschikbaar en moeten we voluit aan de hand van de character class [a-zA-Z0-9_] formuleren.
Indien we de prefix van al onze velden wensen te veranderen naar enkel een underscore vullen we in het "Find what:" veld het pattern <m{_[a-zA-Z0-9_]*}> in en in het "Replace with:" veld \1. Hier verwijzen we met een backreference naar de capture van de groep met nummer 1.
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|