Cara menggunakan re.match python

Regular Expression pada Python bisa digunakan untuk banyak hal. Salah satunya untuk pencarian. Fungsi search digunakan untuk mendapatkan string yang tersimpan di dalam sebuah variable. Apabila string tersebut ditemukan, maka akan dikembalikan nilai yang menunjukkan posisi dan panjang string tersebut. Apabila tidak ditemukan, maka akan dikembalikan nilai None.

Contoh kasus penggunaan fungsi search adalah sebagai berikut:

import re

teks = “Joni Gudel”

re.search(‘Joni’, teks)

Pada contoh di atas, kita meletakkan dua buah argument ke dalam fungsi search, yaitu string yang akan dicari atau biasa disebut dengan istilah pattern. Dalam hal ini adalah ‘Joni’ dan argument kedua menunjukkan dimana string tersebut berada. Dalam hal ini, berada di dalam variable teks.

Apabila kode program di atas dijalankan, maka akan menghasilkan output sebagai berikut:

<re.Match object; span=(0, 4), match=’Joni’>

Anda akan melihat dua buah nilai dalam bentuk angka bulat pada span, yaitu 0 dan 4. Angka 0 menunjukkan nomor index pada string yang dicari. Karena kita mencari teks ‘Joni’ dan huruf ‘J’ berada di nomor index pertama, yaitu nomor index 0, maka akan dihasilkan angka 0. Selanjutnya, angka 4 menunjukkan jumlah karakter dari string yang dicari.

Sekarang, Anda bisa memodifikasi pencarian dengan cara seperti ini:

re.search(‘oni’, teks)

Hasil apakah yang akan dikembalikan oleh fungsi search?

<re.Match object; span=(1, 4), match=’oni’>

Pada span, Anda akan melihat angka 1 yang menunjukkan bahwa karakter pertama yang dicari memiliki nomor index 1. Ingat bahwa pada teks ‘Joni’, huruf ‘J’ memiliki nomor index 0 dan ‘o’ ber-index 1. Selanjutnya, 4 adalah jumlah karakter keseluruhan pada ‘Joni’.

Kita akan membahas tentang apa itu span pada pembahasan berikutnya.

Group pada Regular Expression

Fungsi group dapat digunakan untuk menampilkan bagian dari string yang dicari menggunakan search. Pada contoh kasus di atas, agar dapat menggunakan fungsi group, maka hasil dari pencarian perlu disimpan ke dalam sebuah variable.

Contohnya adalah sebagai berikut:

hasil = re.search(‘Joni’, teks)

hasil.group()

Hasil yang diperoleh dari kode program di atas adalah:

‘Joni’

String ‘Joni’ akan dihasilkan karena merupakan bagian dari string yang dicari menggunakan fungsi search.

Span

Span adalah fungsi yang menghasilkan nilai balikan dalam bentuk start dan end-position. Anda telah melihat span ketika menggunakan fungsi search di atas, misalnya dalam bentuk seperti ini:

span=(0, 4)

Nilai 0 menunjukkan nomor index pertama pada string yang dicari sedangkan 4 adalah posisi terakhir pada string yang dicari. Pada contoh di atas, span merupakan hasil balikan dari fungsi search. Tetapi Anda bisa menggunakan fungsi span secara terpisah:

import re

teks = “Joni Gudel”

hasil = re.search(‘Joni’, teks)

hasil.span()

Hasil yang diperoleh dari penggunaan fungsi span di atas adalah sama, yaitu:

(0, 4)

Start dan End

Fungsi start pada regular expression dapat digunakan untuk mendapatkan posisi nomor index awal pada string yang dicari. Sedangkan fungsi end pada regular expression untuk mendapatkan posisi akhir pada string yang dicari. Dengan kata lain, apabila fungsi span dimanfaatkan untuk mendapatkan nilai dari start dan end sekaligus, maka kedua fungsi ini dipakai untuk memperoleh nilai masing-masing.

Kalimat biasa adalah urutan karakter khusus, dapat membantu Anda untuk dengan mudah memeriksa apakah string cocok dengan pola.

Python kembali modul meningkat sejak versi 1.5, pola ekspresi reguler yang menyediakan Perl-gaya.

re modul memungkinkan bahasa Python memiliki semua fitur dari ekspresi reguler.

mengkompilasi fungsi untuk menghasilkan objek ekspresi reguler dari string pola dan parameter bendera opsional. Objek ini memiliki seperangkat metode untuk pencocokan ekspresi reguler dan substitusi.

re modul juga menyediakan metode yang konsisten dengan fitur-fitur ini fungsi yang menggunakan pola string sebagai argumen pertama mereka.

Bagian ini memperkenalkan Python fungsi pemrosesan yang umum ekspresi reguler.


fungsi re.match

re.match mencoba untuk mencocokkan pola dari posisi awal dari string, jika tidak pencocokan posisi awal berhasil, pertandingan () mengembalikan none.

Fungsi sintaks:

re.match(pattern, string, flags=0)

Fungsi parameter:

parameterdeskripsipolaMencocokkan ekspresi regulertalistring untuk mencocokkan.benderaBendera, pencocokan ekspresi reguler digunakan untuk mengontrol, seperti: apakah kasus-sensitif, multi-line pertandingan, dan sebagainya.

Metode pertandingan re.match sukses mengembalikan sebuah objek pertandingan, jika tidak ada.

Kita dapat menggunakan grup (num) atau kelompok () fungsi untuk mendapatkan benda-benda yang cocok sesuai ekspresi.

Pencocokan metode objekdeskripsiKelompok (num = 0)Seluruh pencocokan ekspresi string, kelompok () bisa memasukkan lebih dari satu nomor kelompok, dalam hal ini akan mengembalikan nilai yang sesuai dengan kelompok-kelompok tupel.kelompok ()Ia mengembalikan tuple dari semua kelompok string, dari 1 ke nomor yang terdapat dalam kelompok.

Contoh 1:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配

Jalankan contoh di atas output:

(0, 3)
None

Contoh 2:

#!/usr/bin/python
import re

line = "Cats are smarter than dogs"

matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)

if matchObj:
   print "matchObj.group() : ", matchObj.group()
   print "matchObj.group(1) : ", matchObj.group(1)
   print "matchObj.group(2) : ", matchObj.group(2)
else:
   print "No match!!"

Hasil dari contoh di atas adalah sebagai berikut:

matchObj.group() :  Cats are smarter than dogs
matchObj.group(1) :  Cats
matchObj.group(2) :  smarter

re.search memindai seluruh string dan mengembalikan pertandingan pertama yang sukses.

Fungsi sintaks:

re.search(pattern, string, flags=0)

Fungsi parameter:

parameterdeskripsipolaMencocokkan ekspresi regulertalistring untuk mencocokkan.benderaBendera, pencocokan ekspresi reguler digunakan untuk mengontrol, seperti: apakah kasus-sensitif, multi-line pertandingan, dan sebagainya.

Metode pertandingan re.search sukses mengembalikan sebuah objek pertandingan, jika tidak ada.

Kita dapat menggunakan grup (num) atau kelompok () fungsi untuk mendapatkan benda-benda yang cocok sesuai ekspresi.

Pencocokan metode objekdeskripsiKelompok (num = 0)Seluruh pencocokan ekspresi string, kelompok () bisa memasukkan lebih dari satu nomor kelompok, dalam hal ini akan mengembalikan nilai yang sesuai dengan kelompok-kelompok tupel.kelompok ()Ia mengembalikan tuple dari semua kelompok string, dari 1 ke nomor yang terdapat dalam kelompok.

Contoh 1:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.search('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.search('com', 'www.w3big.com').span())         # 不在起始位置匹配

Jalankan contoh di atas output:

(0, 3)
(11, 14)

Contoh 2:

#!/usr/bin/python
import re

line = "Cats are smarter than dogs";

searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)

if searchObj:
   print "searchObj.group() : ", searchObj.group()
   print "searchObj.group(1) : ", searchObj.group(1)
   print "searchObj.group(2) : ", searchObj.group(2)
else:
   print "Nothing found!!"
Hasil dari contoh di atas adalah sebagai berikut:
searchObj.group() :  Cats are smarter than dogs
searchObj.group(1) :  Cats
searchObj.group(2) :  smarter

re.match cocok hanya awal dari string, jika awal string tidak memenuhi ekspresi reguler, pertandingan gagal, fungsi mengembalikan None, dan re.search cocok dengan seluruh string, sampai menemukan kecocokan.

contoh:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配
0Contoh hasil di atas adalah sebagai berikut:
#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配
1

Mencari dan mengganti

Python ulang modul memberikan re.sub untuk pertandingan string pengganti.

sintaks:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配
2

String kembali adalah string dengan pertandingan RE paling kiri tidak akan terulang untuk menggantikan. Jika pola ini tidak ditemukan, karakter akan dikembalikan tidak berubah.

count parameter opsional adalah jumlah maksimum kali pengganti pencocokan pola; count harus bilangan bulat non-negatif. Nilai default adalah 0 berarti mengganti semua kejadian.

contoh:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配
3Hasil dari contoh di atas adalah sebagai berikut:
#!/usr/bin/python
# -*- coding: UTF-8 -*- 

import re
print(re.match('www', 'www.w3big.com').span())  # 在起始位置匹配
print(re.match('com', 'www.w3big.com'))         # 不在起始位置匹配
4

Regex pengubah - bendera opsional

Kalimat biasa dapat berisi bendera pengubah opsional untuk mengontrol mode pertandingan. Pengubah ditetapkan sebagai bendera opsional. (|) Untuk menentukan beberapa bendera yang dapat bitwise OR melalui. Sebagai re.I | re.M diatur untuk saya dan M bendera:

pengubahdeskripsire.IJadi pencocokan yang tidak sensitif hurufre.LApakah identifikasi lokalisasi (sadar lokal) pencocokanre.MMulti-garis pencocokan, mempengaruhi ^ dan $re.SSo., Termasuk baris cocok dengan semua karakterre.UMenurut mengatasi Unicode karakter set karakter. Bendera ini mempengaruhi \ w, \ W, \ b, \ B.re.XBendera ini dengan memberikan format yang lebih fleksibel sehingga Anda akan menulis kalimat biasa lebih mudah untuk memahami.

Pola ekspresi reguler

Pola string menggunakan sintaks khusus untuk menunjukkan ekspresi reguler:

Surat dan angka sendiri. Pola ekspresi reguler dari huruf dan angka sesuai dengan string yang sama.

Sebagian besar huruf dan angka akan memiliki arti yang berbeda ketika didahului oleh garis miring terbalik.

Tanda baca lolos hanya ketika pertandingan itu sendiri, atau mereka mewakili arti khusus.

Backslash itu sendiri perlu menggunakan backslash melarikan diri.

Sejak ekspresi reguler biasanya mengandung backslash, sehingga Anda akan lebih baik menggunakan string asli untuk mewakili mereka. elemen skema (seperti r '/ t', setara dengan '// t') cocok dengan karakter khusus yang sesuai.

Tabel berikut mencantumkan unsur-unsur tertentu sintaks pola ekspresi reguler. Jika pola penggunaan Anda sambil memberikan opsional bendera argumen, makna unsur-unsur tertentu dari pola akan berubah.

Apa itu re python?

RegEx, atau Ekspresi Reguler, adalah urutan karakter yang membentuk pola pencarian. RegEx dapat digunakan untuk memeriksa apakah string berisi pola pencarian yang ditentukan.

Apa itu RegEx Pattern?

Regex itu adalah sebuah teks dalam bentuk pola untuk pencarian dan banyak dipakai untuk pencocokan, pencarian, dan manipulasi teks.

Apa itu file RegEx?

Regular Expression atau biasa disingkat regex, adalah suatu metode untuk mengenali atau mendeteksi suatu pola tertentu pada suatu string. Dengan menggunakan regex, kita bisa mendeteksi pola string seperti email, hashtag, link dan pola-pola kompleks lainnya dengan hanya satu ekpresi saja.