Last Updated on August 11, 2021 by
Pada artikel seri tutorial Python sebelumnya Anda sudah belajar tentang cara mengubah integer ke string, kali ini Anda akan belajar tentang regex python. Regex sendiri merupakan kepanjangan dari Regular Expression.
Regex sendiri adalah bagian dari karakter yang dapat mendefinisikan pola pencarian. Jika Anda tertarik untuk tahu lebih banyak tentang Regex Python, simak terus artikel ini sampai akhir.
Table of Contents
Regex Python
Regex atau regular Expression digunakan dengan re module Python. Regex bisa digunakan juga untuk memeriksa apakah suatu string berisikan pola pencarian yang spesifik. Python memiliki paket bawaan yang disebut re, dapat digunakan untuk bekerja dengan Reguler Expession.
Impor re module Python:
import re
Regex dalam Bahasa Python
Ketika Anda mengimpor re module Python, Anda dapat mulai menggunakan regular Expression. Seperti contoh di bawah ini Cari string untuk melihat apakah itu dimulai dengan “The” dan diakhiri dengan “Spain”.
import re str = "Selamat Belajar PYTHON" exc = re.search("^Selamat.*PYTHON$", str)
Fungsi Regex
Re module Python menyediakan seperangkat fungsi yang memungkinkan kita untuk mencari sebuah string untuk match (match).
Fungsi | Deskripsi |
findall | Mengembalikan daftar yang berisi semua match. |
search | Mengembalikan sebuah objek match jika ada match di mana saja dalam string |
split | Mengembalikan daftar di mana string yang sudah membelah di masing-masing match. |
sub | Menggantikan satu atau banyak match dengan sebuah string. |
Metacharacters adalah karakter dengan makna khusus.
Karakter | Deskripsi | Contoh |
[] | Seperangkat karakter | “[a-m]” |
\ | Sinyal urutan khusus (juga dapat digunakan untuk menghindari karakter khusus) | “\d” |
. | Setiap karakter (kecuali karakter baris baru) | “he..o” |
^ | Dimulai dengan | “^hello” |
$ | Diakhiri dengan | “world$” |
* | Nol atau lebih kejadian | “aix*” |
+ | Satu atau lebih kejadian | “aix+” |
{} | Persis jumlah kejadian yang ditentukan | “al{2}” |
| | Baik atau | “falls|stays” |
() | Capture dan kelompokkan |
Special Sequences (Urutan Khusus)
Special sequences adalah \ diikuti oleh salah satu karakter dalam daftar di bawah ini, dan memiliki arti khusus:
Karakter | Deskripsi | Contoh |
\A | Mengembalikan match jika karakter yang ditentukan berada di awal string | “\AThe” |
\b | Mengembalikan match di mana karakter yang ditentukan berada di awal atau di akhir kata (“r” pada awalnya memastikan bahwa string diperlakukan sebagai “string mentah”) |
r”\bain” r”ain\b” |
\B | Mengembalikan match di mana karakter yang ditentukan ada, tetapi BUKAN di awal (atau di akhir) kata
(“r” pada awalnya memastikan bahwa string diperlakukan sebagai “raw string”) |
r”\Bain” r”ain\B” |
\d | Mengembalikan match di mana string berisi angka (angka dari 0-9) | “\d” |
\D | Mengembalikan match di mana string TIDAK mengandung angka | “\D” |
\s | Mengembalikan match di mana string berisi karakter spasi putih | “\s” |
\S | Mengembalikan match di mana string TIDAK mengandung karakter spasi putih | “\S” |
\w | Mengembalikan match di mana string berisi karakter kata apa pun (karakter dari a hingga Z, angka dari 0-9, dan garis bawah _ karakter) | “\w” |
\W | Mengembalikan match di mana string TIDAK mengandung karakter kata apa pun | “\W” |
\Z | Mengembalikan match jika karakter yang ditentukan berada di akhir string | “Spain\Z” |
Set
Set adalah seperangkat katakter di dalam kurung kotak [ ] yang memiliki makna khusus.
Set | Deskripsi |
[arn] | Mengembalikan kecocokan di mana salah satu karakter yang ditentukan (a, r, atau n) ada |
[a-n] | Mengembalikan kecocokan untuk setiap karakter huruf kecil, menurut abjad antara a dan n |
[^arn] | Mengembalikan kecocokan untuk karakter apa pun KECUALI a, r, dan n |
[0123] | Mengembalikan kecocokan di mana salah satu digit yang ditentukan (0, 1, 2, atau 3) ada |
[0-9] | Mengembalikan kecocokan untuk setiap digit antara 0 dan 9 |
[0-5][0-9] | Mengembalikan kecocokan untuk angka dua digit dari 00 dan 59 |
[a-zA-Z] | Mengembalikan kecocokan untuk karakter apa pun menurut abjad antara a dan z, huruf kecil ATAU huruf besar |
[+] | Dalam set, +, *, ., |, (), $,{} tidak memiliki arti khusus, jadi [+] berarti: mengembalikan kecocokan untuk setiap karakter + dalam string |
Fungsi Findall
Fungsi findall() mengembalikan sebuah list yang berisikan seluruh match. Berikut contoh penggunaannya.
import re str = "Selamat Belajar PYTHON" exc = re.findall("la", str) print(exc)
Daftar tersebut berisi kecocokan dalam urutan mereka ditemukan. Jika tidak ada kecocokan yang ditemukan, daftar kosong akan dikembalikan. Berikut ini adalah contoh apabila mengembalikan sebuah list kosong jika tidak ditemukan match sama sekali.
import re str = "Selamat Belajar PYTHON" exc = re.findall("Swift", str) print(exc)
Fungsi search()
Fungsi search() mencari string untuk kecocokan, dan mengembalikan objek Match jika ada kecocokan. Jika ada lebih dari satu kecocokan, hanya kemunculan pertama dari kecocokan yang akan dikembalikan. Cari karakter spasi putih pertama dalam string:
import re str = "Selamat Belajar PYTHON" exc = re.search("\s", str) print("Karakter spasi putih pertama berada di:", exc.start())
Jika tidak ada match yang ditemukan, nilai none akan dikembalikan. Buatlah sebuah pencarian yang tidak mengembalikan match:
import re str = "Selamat Belajar PYTHON" exc = re.search("Swift", str) print(exc)
Fungsi split()
Fungsi split() mengembalikan semua daftar di mana string sudah dipisahkan di masing-masing match. Split pada setiap karakter white-space.
import re str = "Selamat Belajar PYTHON" exc = re.split("\s", str) print(exc)
Anda dapat mengontrol jumlah kemunculan dengan menentukan parameter maexcsplit. Pisahkan string hanya pada kemunculan pertama:
import re str = "Selamat Belajar PYTHON" exc = re.split("\s", str, 1) print(exc)
Fungsi sub()
Fungsi sub() menggantikan match dengan teks yang Anda pilih. Gantikan setiap karakter white space dengan angka 9:
import re str = "Selamat Belajar PYTHON" exc = re.sub("\s", "9", str) print(exc)
Anda dapat mengontrol jumlah penggantian dengan menentukan parameter count:
import re str = "Selamat Belajar PYTHON" exc = re.sub("\s", "9", str, 2) print(exc)
Objek Match
Match Object adalah objek yang berisi informasi tentang pencarian dan hasilnya. Lakukan pencarian yang akan mengembalikan objek yang cocok:
import re str = "Selamat Belajar PYTHON" exc = re.search("la", str) print(exc)
Objek Match memiliki properti dan metode yang digunakan untuk mengambil informasi tentang pencarian, dan hasilnya:
- .span() mengembalikan tuple yang berisi posisi awal, dan akhir pertandingan.
- .string mengembalikan string yang diteruskan ke fungsi
- .group() mengembalikan bagian dari string di mana ada kecocokan
Cetak posisi (posisi awal dan akhir) dari kejadian kecocokan pertama. Ekspresi reguler mencari kata apa pun yang dimulai dengan huruf besar “S”:
import re str = "Selamat Belajar PYTHON" exc = re.search(r"\bS\w+", str) print(exc.span())
Cetak string yang diteruskan ke fungsi:
import re str = "Selamat Belajar PYTHON" exc = re.search(r"\bS\w+", str) print(exc.string)
Cetak bagian dari string di mana ada sebuah match di sana. Regular Expression akan mencari kata-kata lainnya yang dimulai dengan huruf besar S.
import re str = "Selamat Belajar PYTHON" exc = re.search(r"\bS\w+", str) print(exc.group())
Demikianlah penjelasan tentang Regex Python. Anda harus ingat dalam bekerja dengan Regex dalam bahasa Python, jika tidak ada match, maka nilai none akan dikembalikan. Kalau Anda tertarik untuk belajar Python lebih banyak, pastikan Anda melihat artikel seri tutorial Python yang ada di Codekey.
Website Codekey adalah sebuah media untuk Anda belajar berbagai bahasa pemrograman. Codekey menyediakan berbagai materi pembahasan, tutorial, serta tips dan trik untuk Anda belajar bahasa pemrograman, tidak hanya Python, tetapi juga bahasa pemrograman lainnya. Jangan lupa “allow notification” dari https://codekey.id/ supaya Anda tidak ketinggalan update terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.