Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

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 demo
using 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 demo
using 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 demo
using 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

  1. C#-expressies, statements en blokken (met voorbeelden)
  2. C#-tekenreeks
  3. Java-uitdrukkingen, verklaringen en blokken
  4. Java-strings
  5. Java enum Strings
  6. Java Lambda-expressies
  7. C++ Strings:strcpy(), strcat(), strlen(), strcmp() VOORBEELDEN
  8. Strings in C:variabele declareren, initialiseren, afdrukken, voorbeeld
  9. Python String count() met VOORBEELDEN
  10. Java - Strings-klasse
  11. Java - Reguliere expressies