Panduan Pemula untuk Ekspresi Reguler (RegEx) dalam C

Halo teman-teman masa depan bintang coding! ? Apakah Anda siap untuk memulai perjalanan menarik ke dunia Ekspresi Reguler (RegEx) dalam C#? Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya disini untuk mengajarkan Anda langkah demi langkah dalam perjalanan ini. Ayo masuk ke dalamnya!

C# - Regular Expressions

Apa itu Ekspresi Reguler?

Sebelum kita masuk ke detilnya, mari pahami apa itu Ekspresi Reguler. Bayangkan Anda adalah seorang detektif ?️‍♀️ yang mencari pola tertentu di laut teks. Ekspresi Reguler adalah kacamata perbesar Anda, membantu Anda mencari, mencocokkan, dan memanipulasi teks berdasarkan pola. Keren, kan?

Kontruktur untuk Mendefinisikan Ekspresi Reguler

Sekarang, mari kita lihat beberapa blok dasar yang kita gunakan untuk membuat pola kuat ini. Pahami ini sebagai kumpulan LEGO dunia RegEx kami!

Konuktur Deskripsi Contoh
. Cocok dengan karakter tunggal manapun kecuali baris baru a.c cocok dengan "abc", "a1c", "a@c", dll.
* Cocok dengan nol atau lebih banyak kejadian karakter sebelumnya ab*c cocok dengan "ac", "abc", "abbc", "abbbc", dll.
+ Cocok dengan satu atau lebih kejadian karakter sebelumnya ab+c cocok dengan "abc", "abbc", "abbbc", tapi tidak "ac"
? Menjadikan karakter sebelumnya opsional colou?r cocok dengan "color" dan "colour"
^ Cocok dengan awal baris ^Hello cocok dengan "Hello World" tapi tidak "Say Hello"
$ Cocok dengan akhir baris World$ cocok dengan "Hello World" tapi tidak "World Cup"
[ ] Cocok dengan karakter tunggal dari set [aeiou] cocok dengan setiap vokal
[^ ] Cocok dengan karakter tunggal yang bukan dalam set [^aeiou] cocok dengan setiap konsonan
( ) Mengelompokkan karakter (ab)+ cocok dengan "ab", "abab", "ababab", dll.

Jangan khawatir jika ini terlihat membingungkan - kita akan melihat ini dalam aksi segera!

Kelas Regex

Dalam C#, kita menggunakan kelas Regex untuk bekerja dengan Ekspresi Reguler. Itu seperti pisau瑞士 Army knife ? kita untuk pencocokan pola. Mari kita lihat bagaimana menggunakannya!

Contoh 1: Mencari Pola Sederhana

Mulai dari yang sederhana. Bayangkan Anda membuat program untuk memeriksa apakah alamat email valid.

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string email = "[email protected]";
string pattern = @"@.*\.";

Regex regex = new Regex(pattern);
Match match = regex.Match(email);

if (match.Success)
{
Console.WriteLine("Alamat email valid!");
}
else
{
Console.WriteLine("Alamat email tidak valid!");
}
}
}

Dalam contoh ini:

  • Kita membuat objek Regex dengan pola @"@.*\.".
  • Pola ini mencari tanda @, diikuti oleh karakter apapun (.*), dan kemudian titik (\.).
  • Kita menggunakan metode Match untuk menemukan pola ini di string email kita.
  • Jika berhasil, kita anggap email valid.

Ingat, ini hanya pemeriksaan sangat sederhana. Validasi email sebenarnya jauh lebih kompleks!

Contoh 2: Mengganti Teks

Sekarang, mari kita katakan Anda membuat aplikasi chat, dan Anda ingin mengganti semua instance "LOL" dengan "laugh out loud". RegEx ke bantuannya!

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string input = "OMG! Did you see that? LOL! I can't believe it. LOL";
string pattern = @"\bLOL\b";
string replacement = "laugh out loud";

string result = Regex.Replace(input, pattern, replacement);

Console.WriteLine(result);
}
}

Berikut apa yang terjadi:

  • Kita menggunakan \b untuk mencocokkan batas kata. Ini memastikan kita hanya mengganti "LOL" saat itu adalah kata utuh, bukan bagian dari kata lain.
  • Regex.Replace melakukan magik mencari semua kecocokan dan menggantinya.

Output: "OMG! Did you see that? laugh out loud! I can't believe it. laugh out loud"

Contoh 3: Ekstrak Informasi

Akhirnya, mari kita ekstrak semua hashtag dari sebuah tweet. Ini adalah sesuatu yang Anda mungkin lakukan jika Anda membuat fitur topik tren untuk aplikasi media sosial.

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string tweet = "Just finished my #CSharp course! #Coding #LearningToCode";
string pattern = @"#\w+";

MatchCollection matches = Regex.Matches(tweet, pattern);

Console.WriteLine("Hashtags found:");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
}
}

mari kitauraikan ini:

  • Pola kita #\w+ mencari # diikuti oleh satu atau lebih karakter kata.
  • Regex.Matches menemukan semua kecocokan pola di string kita.
  • Kita kemudian perulangan melalui kecocokan dan mencetak setiap hashtag.

Output:

Hashtags found:
#CSharp
#Coding
#LearningToCode

Penutup

Selamat! ? Anda telah mengambil langkah pertama ke dunia Ekspresi Reguler dalam C#. Kita telah melihat dasar-dasar, dari pencocokan pola sederhana hingga penggantian teks dan ekstraksi informasi. Ingat, RegEx adalah alat kuat, tapi seperti semua superpower, memerlukan latihan untuk dikuasai.

Jangan disangska jika itu terlihat sulit pada awalnya. Saya ingat saat saya pertama kali mengajarkan RegEx, saya punya seorang murid yang sangat kebingungan, dia mengatakan itu terlihat seperti kucing berjalan di papan ketik! Tetapi dengan latihan, dia menjadi ahli RegEx. Anda juga bisa!

Terus mencoba, cobalah pola yang berbeda, dan segera Anda akan menjadi ahli mencari jarum di gandum. Selamat coding! ??

Credits: Image by storyset