Penggunaan fungsi MASTCH pada PHP

Definisi dan Penggunaan

Fungsi preg_match() digunakan untuk dapat mengembalikan apakah kecocokan ditemukan dalam string.

Syntax

preg_match(pattern, input, matches, flags, offset)

Nilai Parameter

ParameterDeskripsi
pattern Required. Berisi ekspresi reguler yang menunjukkan apa yang harus dicari
input Required. String tempat pencarian akan dilakukan
matches Optional. Variabel yang digunakan dalam parameter ini akan diisi dengan array yang berisi semua kecocokan yang ditemukan
flags Optional. Serangkaian opsi yang mengubah cara susunan array terstruktur:

PREG_OFFSET_CAPTURE – Jika opsi ini diaktifkan, setiap kecocokan, daripada menjadi string, maka akan menjadi array di mana elemen pertama adalah substring yang berisi kecocokan dan elemen kedua adalah posisi karakter pertama substring di input.

PREG_UNMATCHED_AS_NULL – Jika opsi ini diaktifkan, subpola yang tidak cocok akan dikembalikan sebagai NULL, bukan sebagai string kosong.

offset Optional. Default-nya 0. Menunjukkan seberapa jauh ke dalam string untuk mulai mencari.
Fungsi preg_match() tidak akan menemukan kecocokan yang terjadi sebelum posisi yang diberikan dalam parameter ini

Detail Teknis

Return Value:Mengembalikan 1 jika kecocokan ditemukan, 0 jika tidak ada kecocokan yang ditemukan dan false jika terjadi kesalahan
PHP Version:4+
Changelog:PHP 7.2 – Menambahkan tanda PREG_UNMATCHED_AS_NULL

PHP 5.3.6 – Fungsi mengembalikan nilai false ketika offset lebih panjang dari panjang input

PHP 5.2.2 – Subpattern bernama dapat menggunakan sintaks (?’name’) dan (? <name> ) selain sintaks sebelumnya (?P<name> )

Contoh 1
Gunakan ekspresi reguler untuk melakukan penelusuran tidak peka huruf besar kecil(case-sensitive) untuk “dosenit” dalam sebuah string:

<?php
$str = "Visit DosenIT";
$pattern = "/dosenit/i";
echo preg_match($pattern, $str);
?>
  // Output : 1

Contoh 2
Gunakan PREG_OFFSET_CAPTURE untuk menemukan posisi dalam string masukan di mana kecocokan ditemukan:

<?php
$str = "Selamat Datang di DosenIT";
$pattern = "/dosenit/i";
preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
  // Output : Array ( [0] => Array ( [0] => DosenIT [1] => 19 ) )

Definisi dan Penggunaan

Fungsi preg_match_all() digunakan untuk mengembalikan jumlah kecocokan pola yang ditemukan dalam string dan mengisi variabel dengan kecocokan yang ditemukan.

Syntax

preg_match_all(pattern, input, matches, flags, offset)

Nilai Parameter

ParameterDescription
pattern Required. Berisi ekspresi reguler yang menunjukkan apa yang harus dicari
input Required. String tempat pencarian akan dilakukan
matches Optional. Variabel yang digunakan dalam parameter ini akan diisi dengan array yang berisi semua kecocokan yang ditemukan
flags Optional. Seperangkat opsi yang mengubah bagaimana array matches disusun.

Salah satu dari struktur berikut dapat dipilih:

PREG_PATTERN_ORDER – Default. Setiap elemen dalam larik kecocokan adalah kecocokan array dari pengelompokan yang sama dalam ekspresi reguler, dengan indeks 0 terkait dengan kecocokan seluruh ekspresi dan indeks yang tersisa untuk kecocokan subpola.
PREG_SET_ORDER – Setiap elemen dalam kecocokan array yang berisi kecocokan dari semua pengelompokan untuk salah satu kecocokan yang ditemukan dalam string.

Sejumlah opsi berikut dapat diterapkan:

PREG_OFFSET_CAPTURE – Jika opsi ini diaktifkan, setiap kecocokan, alih-alih string, akan menjadi array di mana elemen pertama adalah substring yang berisi kecocokan dan elemen kedua adalah posisi karakter pertama substring di input.
PREG_UNMATCHED_AS_NULL – Jika opsi ini diaktifkan, subpola yang tidak cocok akan dikembalikan sebagai NULL, bukan sebagai string kosong.

offset Optional. Default-nya 0. Menunjukkan seberapa jauh ke dalam string untuk mulai mencari. Fungsi preg_match() tidak akan menemukan kecocokan yang terjadi sebelum posisi yang diberikan dalam parameter ini

Technical Details

Detail Teknis

Return Value:Mengembalikan jumlah kecocokan yang ditemukan atau false jika terjadi kesalahan
PHP Version:4+
Changelog:PHP 7.2 – Menambahkan tanda PREG_UNMATCHED_AS_NULL

PHP 5.4 – Parameter matches menjadi opsional

PHP 5.3.6 – Fungsi mengembalikan nilai false ketika offset lebih panjang dari panjang input

PHP 5.2.2 – Subpattern bernama dapat menggunakan sintaks (?’name’) dan (?<name> ) selain sintaks sebelumnya (?P<name> )

Contoh 1
Temukan semua kemunculan “ain” dalam string:

<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
if(preg_match_all($pattern, $str, $matches)) {
  print_r($matches);
}
?>
  /* Output : 
Array
(
  [0] => Array
    (
      [0] => ain
      [1] => AIN
      [2] => ain
      [3] => ain
    )
)

Contoh 2
Gunakan PREG_PATTERN_ORDER untuk menyetel struktur kecocokan array . Dalam contoh ini, setiap elemen dalam kecocokan array memiliki semua kecocokan untuk salah satu pengelompokan ekspresi reguler.

<?php
$str = "jkl JKL";
$pattern = "/((j)k)(l)/i";
if(preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER)) {
  print_r($matches);
}
?>
  /* Output : 
Array
(
    [0] => Array
        (
            [0] => jkl
            [1] => JKL
        )

    [1] => Array
        (
            [0] => jk
            [1] => JK
        )

    [2] => Array
        (
            [0] => j
            [1] => J
        )

    [3] => Array
        (
            [0] => l
            [1] => L
        )

Apa itu preg_match di PHP?

Fungsi preg_match() digunakan untuk dapat mengembalikan apakah kecocokan ditemukan dalam string.

Apa kegunaan regex?

Regex adalah singkatan dari Regular Expresion. Regex merupakan sebuah teks (string) yang mendefinisikan sebuah pola pencarian sehingga dapat membantu kita untuk melakukan matching (pencocokan), locate (pencarian), dan manipulasi teks.