C# – Regular Expressions

Regular Expressions adalah pola yang dapat dicocokkan dengan teks masukan. Framework .Net menyediakan mesin regular expressions yang memungkinkan pencocokkan tersebut. Pola terdiri dari satu atau lebih literal karakter, operator, atau konstruksi.

Constructs for Defining Regular Expressions

Ada berbagai kategori karakter, operator, dan konstruksi yang memungkinkan Anda menentukan reguler expressions:

  • Character Escapes
  • Character Classes
  • Anchors
  • Grouping Constructs
  • Quantifiers
  • Backreference Constructs
  • Alternation Constructs
  • Substitutions
  • Miscellaneous Constructs

The Regex Class

Kelas Regex digunakan untuk mewakili regular expressions. Ini memiliki metode yang umum digunakan berikut :

Sr.No.Methods & Description
1public bool IsMatch(string input)
Menunjukkan apakah regular expression yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam string input yang ditentukan.
2public bool IsMatch(string input, int startat)
Menunjukkan apakah regular expression yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam string input yang ditentukan, dimulai dari posisi awal yang ditentukan dalam string.
3public static bool IsMatch(string input, string pattern)
Menunjukkan apakah regular expression yang ditentukan menemukan kecocokan dalam string masukan yang ditentukan.
4public MatchCollection Matches(string input)
Mencari string input yang ditentukan untuk semua kemunculan regular expression.
5public string Replace(string input, string replacement)
Dalam string input yang ditentukan, mengganti semua string yang cocok dengan pola regular expression dengan string pengganti yang ditentukan.
6public string[] Split(string input)
Memisahkan string input menjadi array substring pada posisi yang ditentukan oleh pola regular expression yang ditentukan dalam konstruktor Regex.

Untuk daftar lengkap metode dan properti, silakan baca dokumentasi Microsoft di C#.

Contoh 1

Contoh berikut cocok dengan kata-kata yang dimulai dengan ‘S’ :

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();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut :

Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns

Contoh 2

Contoh berikut cocok dengan kata-kata yang dimulai dengan ‘m’ dan diakhiri dengan ‘e’ :

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();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut :

Matching words start with 'm' and ends with 'e':
The Expression: \bm\S*e\b
make
maze
manage
measure

Contoh 3

Contoh ini mereplace spasi yang berlebihan:

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();
      }
   }
}

Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut :

Original String: Hello World   
Replacement String: Hello World   

Leave a Reply

Your email address will not be published. Required fields are marked *