65. PYTHON (Regex) – Kelas-Kelas Karakter

Belajar Bahasa Python Lengkap

Kelas-kelas karakter menyediakan cara untuk mencocokkan hanya sebuah karakter spesifik dari kumpulan karakter. Sebuah kelas karakter dibuat dengan meletakkan karakter-karakter di dalam [] (kurung kotak).

Berikut contohnya:

import re

pattern = r"[aiueo]"

if re.search(pattern, "mesir"):
    print("Match 1")

if re.search(pattern, "kuno"):
    print("Match 2")

if re.search(pattern, "rhytm"):
    print("Match 3")

if re.search(pattern, "myth"):
    print("Match 3")
=====>
 Match 1
 Match 2 
=====>

Kelas-kelas karakter dapat juga mencocokkan range karakter. Sebagai contoh :

  • [a-z] mencocokkan karakter huruf kecil.
  • [G-P] mencocokkan karakter huruf besar antara G s/d P.
  • [0-9] mencocokkan angka.

Beberapa range dapat masuk di dalam satu kelas. Sebagai contoh, [A-Za-z] mencocokkan sebuah baik besar maupun kecil.

import re

pola = r"[A-Z][A-Z][0-9]"

if re.search(pola, "R25"):
    print("Match 1")

if re.search(pola, "MX1"):
    print("Match 2")

if re.search(pola, "lab"):
    print("Match 3")
=====>
 Match 2 
=====>

Untuk membalik / invert karakter gunakan ^ di awal karakter. Hal ini menyebabkan mencocokkan karakter apapun, bukan hanya satu karakter.

Metacharacter lain seperti $ (dollar) dan . (titik), tidak memiliki arti spesifik dalam kelas-kelas karakter. Metacharacter ^ tidak memiliki arti atau fungsi spesifik juga kecuali berada di awal karakter.

Sebagai contoh :

import re

pola = r"[^A-Z]"

if re.search(pola, "nama saya zakky"):
    print("Match 1")

if re.search(pola, "GoodDay"):
    print("Match 2")

if re.search(pola, "PASSWORD"):
    print("Match 3")
=====>
 Match 1
 Match 2 
=====>

[^A-Z] merepresentasikan karakter selain huruf besar. Ingat bahwa ^ harus selalu di dalam [] (kurung kotak) untuk membalik karakter yang dicocokkan.


LANJUTKAN BACA MATERI LENGKAP


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.