C# - Reguliere expressies
Een gewone uitdrukking is een patroon dat kan worden vergeleken met een invoertekst. Het .Net-framework biedt een engine voor reguliere expressies die dergelijke overeenkomsten mogelijk maakt. Een patroon bestaat uit een of meer lettertekens, operatoren of constructies.
Constructs voor het definiëren van reguliere expressies
Er zijn verschillende categorieën tekens, operators en constructies waarmee u reguliere expressies kunt definiëren. Klik op de volgende links om deze constructies te vinden.
-
Karakter ontsnapt
-
Karakterklassen
-
Ankers
-
Constructies groeperen
-
Kwantificatoren
-
Terugverwijzingsconstructies
-
Afwisselende constructies
-
Wissels
-
Diverse constructies
De Regex-klasse
De klasse Regex wordt gebruikt om een reguliere expressie weer te geven. Het heeft de volgende veelgebruikte methoden −
Sr.nr. | Methoden en beschrijving |
---|---|
1 | public bool IsMatch(stringinvoer) Geeft aan of de reguliere expressie die is opgegeven in de Regex-constructor een overeenkomst vindt in een opgegeven invoertekenreeks. |
2 | public bool IsMatch(string input, int startat) Geeft aan of de reguliere expressie die is opgegeven in de Regex-constructor een overeenkomst vindt in de opgegeven invoertekenreeks, beginnend op de opgegeven startpositie in de tekenreeks. |
3 | openbare statische bool IsMatch(tekenreeksinvoer, tekenreekspatroon) Geeft aan of de opgegeven reguliere expressie een overeenkomst vindt in de opgegeven invoertekenreeks. |
4 | openbare MatchCollection Matches(string input) Zoekt in de opgegeven invoertekenreeks naar alle exemplaren van een reguliere expressie. |
5 | public string Replace(string input, string vervanging) Vervangt in een opgegeven invoertekenreeks alle tekenreeksen die overeenkomen met een patroon voor reguliere expressies door een opgegeven vervangende tekenreeks. |
6 | public string[] Split(string input) Splitst een invoertekenreeks in een reeks subtekenreeksen op de posities die worden gedefinieerd door een patroon voor reguliere expressies dat is opgegeven in de Regex-constructor. |
Lees de Microsoft-documentatie over C# voor de volledige lijst met methoden en eigenschappen.
Voorbeeld 1
Het volgende voorbeeld komt overeen met woorden die beginnen met 'S' −
Live demousing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { private static void showMatch(string text, string expr) { Console.WriteLine("The Expression: " + expr); MatchCollection mc = Regex.Matches(text, expr); foreach (Match m in mc) { Console.WriteLine(m); } } static void Main(string[] args) { string str = "A Thousand Splendid Suns"; Console.WriteLine("Matching words that start with 'S': "); showMatch(str, @"\bS\S*"); Console.ReadKey(); } } }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
Matching words that start with 'S': The Expression: \bS\S* Splendid Suns
Voorbeeld 2
Het volgende voorbeeld komt overeen met woorden die beginnen met 'm' en eindigen met 'e' −
Live demousing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { private static void showMatch(string text, string expr) { Console.WriteLine("The Expression: " + expr); MatchCollection mc = Regex.Matches(text, expr); foreach (Match m in mc) { Console.WriteLine(m); } } static void Main(string[] args) { string str = "make maze and manage to measure it"; Console.WriteLine("Matching words start with 'm' and ends with 'e':"); showMatch(str, @"\bm\S*e\b"); Console.ReadKey(); } } }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure
Voorbeeld 3
Dit voorbeeld vervangt extra witruimte −
Live demousing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { static void Main(string[] args) { string input = "Hello World "; string pattern = "\\s+"; string replacement = " "; Regex rgx = new Regex(pattern); string result = rgx.Replace(input, replacement); Console.WriteLine("Original String: {0}", input); Console.WriteLine("Replacement String: {0}", result); Console.ReadKey(); } } }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
Original String: Hello World Replacement String: Hello World
C Taal
- C#-expressies, statements en blokken (met voorbeelden)
- C#-tekenreeks
- Java-uitdrukkingen, verklaringen en blokken
- Java-strings
- Java enum Strings
- Java Lambda-expressies
- C++ Strings:strcpy(), strcat(), strlen(), strcmp() VOORBEELDEN
- Strings in C:variabele declareren, initialiseren, afdrukken, voorbeeld
- Python String count() met VOORBEELDEN
- Java - Strings-klasse
- Java - Reguliere expressies