Cara menggunakan RE-FIND pada Python

RegEx, atau Regular Expression, adalah urutan karakter yang membentuk pola pencarian.

RegEx dapat digunakan untuk memeriksa apakah sebuah string berisi pola pencarian yang ditentukan.

Section Artikel

  • 1 Modul RegEx
  • 2 RegEx dengan Python
  • 3 Fungsi RegEx
  • 4 Metakarakter
  • 5 Urutan Khusus
  • 6 Sets
  • 7 Fungsi findall()
  • 8 Fungsi search()
  • 9 Fungsi split()
  • 10 Fungsi sub()
  • 11 Objek Match

Modul RegEx

Python memiliki paket built-in yang disebut re, yang dapat digunakan untuk bekerja dengan Regular Expressions.

Import modul re:

RegEx dengan Python

Setelah mengimpor modul re, kita dapat mulai menggunakan ekspresi reguler.

Contoh:
Telusuri string untuk melihat apakah diawali dengan “The” dan diakhiri dengan “Spain”.

import re

#Periksa apakah string dimulai dengan "The" dan diakhiri dengan "Spain":
txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)

if x:
  print("Ya! Sesuai")
else:
  print("Tidak sesuai")

Fungsi RegEx

Modul re menawarkan serangkaian fungsi yang memungkinkan kita untuk mencari string yang cocok, seperti dibawah ini:

FungsiDeskripsi
findall Menampilkan daftar yang berisi sesuai
search Mengembalikan objek yang sesuai jika ada kecocokan dimanapun dalam string
split Mengembalikan daftar di mana string telah dipisahkan di setiap kecocokan
sub Mengganti satu atau banyak kecocokan dengan string

Metakarakter

Metakarakter adalah karakter dengan arti khusus

CharacterDeskripsiContoh
[] Satu set karakter “[a-m]”
\ Sinyal urutan khusus (juga dapat digunakan untuk escape pada karakter khusus) “\d”
. Karakter apa pun (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}”
| atau “falls|stays”
() Capture dan group  

Urutan Khusus

Urutan khusus adalah \ diikuti oleh salah satu karakter dalam daftar di bawah ini, dan memiliki arti khusus.

CharacterDescriptionExampleTry it
\A Returns a match if the specified characters are at the beginning of the string “\AThe” Try it »
\b Returns a match where the specified characters are at the beginning or at the end of a word
(the “r” in the beginning is making sure that the string is being treated as a “raw string”)
r”\bain”
r”ain\b”
Try it »
Try it »
\B Returns a match where the specified characters are present, but NOT at the beginning (or at the end) of a word
(the “r” in the beginning is making sure that the string is being treated as a “raw string”)
r”\Bain”
r”ain\B”
Try it »
Try it »
\d Returns a match where the string contains digits (numbers from 0-9) “\d” Try it »
\D Returns a match where the string DOES NOT contain digits “\D” Try it »
\s Returns a match where the string contains a white space character “\s” Try it »
\S Returns a match where the string DOES NOT contain a white space character “\S” Try it »
\w Returns a match where the string contains any word characters (characters from a to Z, digits from 0-9, and the underscore _ character) “\w” Try it »
\W Returns a match where the string DOES NOT contain any word characters “\W” Try it »
\Z Returns a match if the specified characters are at the end of the string “Spain\Z” Try it »

Sets

A set is a set of characters inside a pair of square brackets [] with a special meaning:

SetDeskripsi
[arn] Mengembalikan kecocokan di mana salah satu karakter tertentu ada (a, r, atau n)
[a-n] Mengembalikan kecocokan untuk karakter huruf kecil apa pun, menurut abjad antara a dan n
[^arn] Mengembalikan kecocokan untuk karakter apa pun KECUALI a, r, dan n
[0123] Mengembalikan kecocokan di mana ada digit yang ditentukan (0, 1, 2, atau 3)
[0-9] Mengembalikan kecocokan untuk semua digit antara 0 dan 9
[0-5][0-9] Mengembalikan kecocokan untuk nomor 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 [+] artinya: mengembalikan kecocokan untuk karakter + apa pun dalam string

Fungsi findall()

Fungsi findall() mengembalikan daftar yang berisi semua kecocokan.

Contoh:
Cetak daftar semua kecocokan

import re

#Kembalikan daftar yang berisi setiap kemunculan "ai"

txt = "The rain in Spain"
x = re.findall("ai", txt)
print(x)

Daftar berisi kecocokan dalam urutan ditemukannya.

Jika tidak ada kecocokan yang ditemukan, maka akan mengembalikan daftar kosong.

Contoh:
Kembalikan daftar kosong jika tidak ditemukan kecocokan

import re

txt = "The rain in Spain"

#Periksa apakah "Portugal" ada di string
x = re.findall("Portugal", txt)
print(x)

if (x):
  print("Ya, ada satu kecocokan!")
else:
  print("Tidak cocok")

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

Jika ada lebih dari satu kecocokan, hanya kemunculan pertama pertandingan yang akan dikembalikan.

Contoh:
Cari karakter spasi pertama dalam string

import re

txt = "The rain in Spain"
x = re.search("\s", txt)

print("Karakter white-space pertama berada di posisi:", x.start()) 

Jika tidak ada kecocokan yang ditemukan, nilai None dikembalikan.

Contoh:
Lakukan pencarian yang tidak menghasilkan kecocokan

import re

txt = "The rain in Spain"
x = re.search("Portugal", txt)
print(x)

Fungsi split()

Fungsi split() mengembalikan daftar di mana string telah dipisahkan dari setiap kecocokan.

Contoh:
Pisahkan di setiap karakter spasi

import re

# Pisahkan string di setiap karakter spasi:

txt = "The rain in Spain"
x = re.split("\s", txt)
print(x)

Kita dapat mengontrol jumlah kemunculan dengan menentukan parameter maxsplit.

Contoh:
Pisahkan string hanya pada kejadian pertama

import re

# Pisahkan string pada karakter white-space pertama:
txt = "The rain in Spain"
x = re.split("\s", txt, 1)
print(x)

Fungsi sub()

Fungsi sub() menggantikan kecocokan dengan teks yang dipilih.

Contoh:
Ganti setiap karakter spasi dengan angka 9

import re

#Ganti semua karakter spasi dengan angka "9":

txt = "The rain in Spain"
x = re.sub("\s", "9", txt)
print(x)

Kita dapat mengontrol jumlah penggantian dengan menentukan parameter hitungan.

Contoh:
Ganti 2 kejadian pertama

import re

#Ganti dua kemunculan pertama karakter white-space dengan digit 9:

txt = "The rain in Spain"
x = re.sub("\s", "9", txt, 2)
print(x)

Objek Match

Objek Match adalah objek yang berisi informasi tentang pencarian dan hasilnya.

Catatan: Jika tidak ada kecocokan, nilai Tidak Ada yang akan dikembalikan, bukan Objek Match.

Contoh:
Lakukan pencarian yang akan mengembalikan Objek Match

import re

# Fungsi search() mengembalikan objek Match:

txt = "The rain in Spain"
x = re.search("ai", txt)
print(x)

Objek Match memiliki properti dan metode yang digunakan untuk mengambil informasi tentang pencarian, dan hasilnya:

  • .span() mengembalikan tupel yang berisi posisi awal, dan akhir pertandingan.
  • .string mengembalikan string yang diteruskan ke fungsi
  • .group() mengembalikan bagian dari string yang ada kecocokannya

Contoh
Cetak posisi (posisi awal dan akhir) dari kejadian kecocokan pertama.

Ekspresi reguler mencari kata apa pun yang dimulai dengan huruf besar “S”

import re

#Cari huruf besar "S" karakter di awal kata, dan cetak posisinya:

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.span())

Contoh:
Cetak string yang diteruskan ke fungsi

import re

# Properti string mengembalikan string pencarian:

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.string)

Contoh
Cetak bagian dari string yang terdapat kecocokan.

Ekspresi reguler mencari kata apa pun yang dimulai dengan huruf besar “S”.

import re

#Cari huruf besar "S" karakter di awal kata, dan cetak kata tersebut:

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.group())

Catatan: Jika tidak ada kecocokan, nilai None yang akan dikembalikan, bukan Objek Match.

Apa itu re dalam python?

Re module Python menyediakan seperangkat fungsi yang memungkinkan kita untuk mencari sebuah string untuk match (match). Mengembalikan daftar yang berisi semua match. Mengembalikan daftar di mana string yang sudah membelah di masing-masing match. Menggantikan satu atau banyak match dengan sebuah string.

Modul apa dalam python untuk menjalankan regex?

Python memiliki modul re untuk melakukan hal – hal yang berkaitan dengan regex. Tapi sebelum itu, kita harus mempelajari terlebih dahulu cara menggunakan regex ini.

Apa itu Findall?

Fungsi findall() mengembalikan daftar yang berisi semua kecocokan. Daftar berisi kecocokan dalam urutan ditemukannya. Jika tidak ada kecocokan yang ditemukan, maka akan mengembalikan daftar kosong.

Apa itu file 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.