unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Regex

Regex #

Pengertian #

Regex (Regular Expressions) adalah pola yang digunakan untuk mencocokkan teks. PHP menyediakan dukungan untuk regex melalui fungsi-fungsi yang berbasiskan pustaka PCRE (Perl Compatible Regular Expressions).

Berbagai Fungsi Regex #

  1. preg_match(): Mencari kecocokan dari sebuah pola di dalam string.
  2. preg_match_all(): Mencari semua kecocokan dari sebuah pola di dalam string.
  3. preg_replace(): Mengganti kecocokan dari sebuah pola dengan string lain.
  4. preg_split(): Memisahkan string berdasarkan pola.
  5. preg_grep(): Mengembalikan array elemen yang cocok dengan pola.

Sintaks Dasar #

  • /^regex$/: Pola regex umumnya dimulai dan diakhiri dengan garis miring (delimiters).
  • .: Mencocokkan sembarang karakter kecuali newline.
  • ^: Mencocokkan awal string.
  • $: Mencocokkan akhir string.
  • []: Mencocokkan satu dari sekumpulan karakter.
  • (): Menangkap grup.
  • |: Atau (OR).
  • ****: Escape karakter.

Modifiers #

Modifiers mengubah cara kerja regex. Berikut adalah beberapa modifiers umum:

Modifier Deskripsi
i Case-insensitive matching.
m Multiline matching.
s Dot matches newline characters.
x Allow comments and whitespace in pattern.
u Pattern is treated as UTF-8.

Implementasi Regex #

preg_match() #

Contoh Penggunaan preg_match():

<?php
$pattern = "/^hello/i";
$text = "Hello, world!";
if (preg_match($pattern, $text)) {
    echo "Kecocokan ditemukan!"; // Output: Kecocokan ditemukan!
} else {
    echo "Tidak ada kecocokan.";
}
?>

preg_match_all() #

Contoh Penggunaan preg_match_all():

<?php
$pattern = "/\d+/"; // Mencocokkan semua digit
$text = "Ada 12 apel, 24 pisang, dan 36 jeruk.";
preg_match_all($pattern, $text, $matches);
print_r($matches);
// Output: Array ( [0] => Array ( [0] => 12 [1] => 24 [2] => 36 ) )
?>

preg_replace() #

Contoh Penggunaan preg_replace():

<?php
$pattern = "/apel/";
$replacement = "mangga";
$text = "Saya suka apel.";
$result = preg_replace($pattern, $replacement, $text);
echo $result; // Output: Saya suka mangga.
?>

preg_split() #

Contoh Penggunaan preg_split():

<?php
$pattern = "/[\s,]+/"; // Memisahkan berdasarkan spasi atau koma
$text = "Satu, dua tiga empat, lima";
$parts = preg_split($pattern, $text);
print_r($parts);
// Output: Array ( [0] => Satu [1] => dua [2] => tiga [3] => empat [4] => lima )
?>

preg_grep() #

Contoh Penggunaan preg_grep():

<?php
$pattern = "/^A/";
$array = array("Apple", "Banana", "Avocado", "Cherry");
$result = preg_grep($pattern, $array);
print_r($result);
// Output: Array ( [0] => Apple [2] => Avocado )
?>

Contoh Penggunaan #

Validasi Alamat Email #

Contoh Regex untuk Validasi Email:

<?php
$pattern = "/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/";
$email = "[email protected]";
if (preg_match($pattern, $email)) {
    echo "Alamat email valid."; // Output: Alamat email valid.
} else {
    echo "Alamat email tidak valid.";
}
?>

Ekstraksi URL dari Teks #

Contoh Regex untuk Ekstraksi URL:

<?php
$pattern = "/https?:\/\/[^\s]+/";
$text = "Kunjungi https://www.example.com atau http://example.org untuk informasi lebih lanjut.";
preg_match_all($pattern, $text, $matches);
print_r($matches);
// Output: Array ( [0] => Array ( [0] => https://www.example.com [1] => http://example.org ) )
?>

Mengganti Semua Angka dengan Teks “NUMBER” #

Contoh Regex untuk Mengganti Angka:

<?php
$pattern = "/\d+/";
$replacement = "NUMBER";
$text = "Nomor telepon saya adalah 123-456-7890.";
$result = preg_replace($pattern, $replacement, $text);
echo $result; // Output: Nomor telepon saya adalah NUMBER-NUMBER-NUMBER.
?>

Tabel Identifier Regex #

Identifier Deskripsi
^ Awal string
$ Akhir string
. Sembarang karakter kecuali newline
[] Sekumpulan karakter
[^] Sekumpulan karakter yang tidak cocok
\d Digit (0-9)
\D Non-digit
\w Karakter alfanumerik (a-z, A-Z, 0-9, _)
\W Non-alfanumerik
\s Whitespace (spasi, tab, newline)
\S Non-whitespace
* 0 atau lebih kecocokan
+ 1 atau lebih kecocokan
? 0 atau 1 kecocokan
{n} Tepat n kecocokan
{n,} Setidaknya n kecocokan
{n,m} Antara n dan m kecocokan
() Menangkap grup
| Operator OR (atau)
\ Escape karakter

Kesimpulan #

Regex di PHP adalah alat yang kuat untuk pencarian dan manipulasi teks. Dengan fungsi-fungsi seperti preg_match(), preg_match_all(), preg_replace(), preg_split(), dan preg_grep(), Anda dapat melakukan berbagai operasi kompleks pada string. Memahami sintaks regex dan modifiers akan membantu Anda memanfaatkan sepenuhnya kekuatan regex dalam PHP.

« Date & Time
Vendoring »