RegEx Python

RegEx atau ekspresi reguler adalah urutan karakter yang digunakan untuk membentuk mode pencarian.

RegEx dapat digunakan untuk memeriksa apakah string mengandung mode pencarian yang ditentukan.

RegEx

Python menyediakan modul yang bernama re paket bawaan, dapat digunakan untuk menangani ekspresi reguler

Impor re Modul:

import re

RegEx di Python

Impor re Modul setelah dapat mulai menggunakan ekspresi reguler

Contoh

Cari string untuk melihat apakah ia mulai dengan "China" dan berakhir dengan "country"

import re
txt = "China adalah negara yang besar"
x = re.search("^China.*country$", txt)

Jalankan Instan

Fungsi RegEx

re Modul menyediakan grup fungsi yang memungkinkan kita untuk mencari string untuk cocok

Fungsi Deskripsi
findall Kembalikan daftar yang mengandung semua cocok
search Kembalikan objek Match jika ada cocok di setiap posisi string
split Kembalikan daftar yang dibagi string dalam setiap cocok
sub Ganti string untuk satu atau beberapa cocok

Karakter meta

Karakter meta adalah karakter yang memiliki makna khusus:

Karakter Deskripsi Contoh TIY
[] Sebuah kumpulan karakter "[a-m]" Coba saja
\ Menandai sequens khusus (juga dapat digunakan untuk mengesampingkan karakter khusus) "\d" Coba saja
. Setiap karakter (kecuali karakter baris kosong) "he..o" Coba saja
^ Mulai dengan "^hello" Coba saja
$ Berakhir dengan "world$" Coba saja
* Kurang lebih kali nol atau beberapa kali "aix*" Coba saja
+ Kali tunggal atau beberapa kali "aix+" Coba saja
{} Kurang lebih spesifik penampilan kali "al{2}" Coba saja
| Kedua-duanya "falls|stays" Coba saja
() Penangkapan dan Grup

Sequens khusus

Sequens khusus adalah \ diikuti karakter di bawah tabel, memiliki makna khusus:

Karakter Deskripsi Contoh TIY
\A Kembalikan cocok jika karakter yang ditentukan berada di awal string "\AThe" Coba saja
\b Kembalikan cocok yang karakter yang ditentukan berada di awal kata atau di akhir r"\bain"
r"rain\b"
Coba saja
Coba saja
\B Kembalikan cocok yang karakter yang ditentukan ada tetapi tidak di awal kata (atau di akhir) r"\Bain"
r"rain\B"
Coba saja
Coba saja
\d Kembalikan cocok yang string mengandung angka (angka 0-9) "\d" Coba saja
\D Kembalikan cocok yang string tidak mengandung angka "\D" Coba saja
\s Kembalikan cocok yang string mengandung karakter kosong "\s" Coba saja
\S Kembalikan cocok yang string tidak mengandung karakter kosong "\S" Coba saja
\w Kembalikan cocok yang string mengandung karakter kata
(Dari karakter a sampai Z, angka 0 sampai 9 dan karakter garis bawah _)
"\w" Coba saja
\W Kembalikan cocok yang string tidak mengandung karakter kata "\W" Coba saja
\Z Kembalikan cocok jika karakter yang ditentukan berada di akhir string "Spain\Z" Coba saja

Kumpulan (Set)

Koleksi (Set) adalah pasangan tanda kurung yang bertemu [] Sebuah grup karakter di dalam tanda kurung yang memiliki arti khusus:

Koleksi Deskripsi Coba saja
[arn] Mengembalikan cocok yang ada di antara karakter yang ditentukan (a, r, atau n) salah satunya Coba saja
[a-n] Mengembalikan cocok setiap karakter kecil antara a dan n Coba saja
[^arn] Mengembalikan cocok setiap karakter kecuali a, r, dan n Coba saja
[0123] Mengembalikan cocok yang ada di antara nomor yang ditentukan (0, 1, 2, atau 3) Coba saja
[0-9] Mengembalikan cocok setiap angka antara 0 dan 9 Coba saja
[0-5][0-9] Mengembalikan cocok setiap angka antara 0 dan 9 Coba saja
[a-zA-Z] Mengembalikan cocok setiap karakter antara a dan z, kecil atau besar Coba saja
[+] Dalam koleksi, +, *, ., |, (), $, {} tidak memiliki arti khusus, jadi [+] berarti: mengembalikan cocok setiap karakter + di string Coba saja

Fungsi findall()

findall() Fungsi mengembalikan daftar yang mengandung semua cocok.

Contoh

Cetak daftar cocok semua:

import re
str = "China adalah negara yang besar"
x = re.findall("a", str)
print(x)

Jalankan Instan

Daftar ini mengandung cocok yang ditemukan berdasarkan urutan.

Jika tidak ditemukan cocok, mengembalikan daftar kosong:

Contoh

Jika tidak ditemukan cocok, mengembalikan daftar kosong:

import re
str = "China adalah negara yang besar"
x = re.findall("USA", str)
print(x)

Jalankan Instan

Fungsi search()

search() Fungsi mencari cocok di string, jika ada cocok mengembalikan objek Match.

Jika ada beberapa cocok, hanya mengembalikan cocok pertama:

Contoh

Cari karakter spasi pertama di string:

import re
str = "China adalah negara yang besar"
x = re.search("\s", str)
print("Karakter spasi pertama berada di posisi:", x.start())

Jalankan Instan

Jika tidak ditemukan cocok, nilai yang dikembalikan None:

Contoh

Cari tanpa mengembalikan cocok:

import re
str = "China adalah negara yang besar"
x = re.search("USA", str)
print(x)

Jalankan Instan

Fungsi split()

split() Fungsi mengembalikan daftar, di mana string dipotong setiap kali cocok:

Contoh

Memotong di setiap karakter spasi:

import re
str = "China adalah negara yang besar"
x = re.split("\s", str)
print(x)

Jalankan Instan

Anda dapat menentukan maxsplit Parameter untuk mengawasi jumlah penyebaran:

Contoh

Hanya memotong string di tempat pertama muncul:

import re
str = "China adalah negara yang besar"
x = re.split("\s", str, 1)
print(x)

Jalankan Instan

Fungsi sub()

sub() Fungsi mengganti yang cocok dengan teks yang dipilih Anda:

Contoh

Ganti setiap karakter spasi dengan angka 9:

import re
str = "China adalah negara yang besar"
x = re.sub("\s", "9", str)
print(x)

Jalankan Instan

Anda dapat menentukan count Parameter untuk mengendalikan jumlah penggantian:

Contoh

Ganti pertama dan kedua kali muncul:

import re
str = "China adalah negara yang besar"
x = re.sub("\s", "9", str, 2)
print(x)

Jalankan Instan

Objek Match

Objek Match adalah objek yang mengandung informasi tentang pencarian dan hasil.

Keterangan:Jika tidak ada yang cocok, nilai yang kembalikan Nonedengan tidak Match objek.

Contoh

Pencarian akan kembali dengan objek Match:

import re
str = "China adalah negara yang besar"
x = re.search("a", str)
print(x) # akan mencetak sebuah objek

Jalankan Instan

Objek Match menyediakan atribut dan metode untuk mengambil informasi tentang pencarian dan hasil:

  • span() Tupel yang kembali termasuk posisi awal dan akhir yang cocok
  • .string Kembalikan string yang disampaikan ke fungsi
  • group() Kembalikan bagian string yang cocok

Contoh

Cetak posisi muncul pertama yang cocok (posisi awal dan akhir):

Cari ekspresi reguler untuk setiap kata yang dimulai dengan huruf besar "C":

import re
str = "China adalah negara yang besar"
x = re.search(r"\bC\w+", str)
print(x.span())

Jalankan Instan

Contoh

Cetak string yang disampaikan ke fungsi:

import re
str = "China adalah negara yang besar"
x = re.search(r"\bC\w+", str)
print(x.string)

Jalankan Instan

Contoh

Cetak bagian string yang cocok.

Cari ekspresi reguler untuk setiap kata yang dimulai dengan huruf besar "C":

import re
str = "China adalah negara yang besar"
x = re.search(r"\bC\w+", str)
print(x.group())

Jalankan Instan

Keterangan:Jika tidak ada yang cocok, nilai yang kembalikan Nonedengan tidak Match objek.