Regular Expressions atau biasa di singkat dengan RegEx merupakan ekspresi pola yang dapat digunakan untuk tindakan pencarian dan penggantian teks, validasi, pemisahan string, dan banyak lagi. Pola ini terdiri dari karakter, angka, dan karakter khusus, sedemikian rupa sehingga polanya cocok dengan segmen teks tertentu yang kita telusuri.
Ekspresi Reguler banyak digunakan untuk pencocokan pola, dan berbagai bahasa pemrograman memiliki antarmuka untuk mewakilinya, serta berinteraksi dengan hasil pencocokan. Hal ini menjadikan fungsi tersbut dapat kita gunakan untuk melakukan validasi terhadap input email yang dimasukan uses. Terkadang pada pendaftaran email user memasukan berbagai macam karakter email yang tidak sesuai dengan format email yang seharusnya. Hal ini merepotkan jika kita harus mengecek satu persatu data yang diinput kembali. Untuk memudahkan hal tesebut saat user memasukan format email yang tidak sesuai maka sistem akan menolak inputan tersebut. Secara umum folrmat penulisan email sebagi berikut.
(username)@(domainname).(top-leveldomain)
Jadi, kita dapat membuatnya menjadi pola simbol @ yang membagi awalan dari segmen domain. Pada awalan biasanya merupan nama penerima berupa string yang mungkin berisi huruf besar dan kecil, angka, dan beberapa karakter khusus seperti . (titik), -(tanda hubung), dan _ (garis bawah).
Untuk domain terdiri dari nama dan top-level domain dipisahkan dengan . (titik) simbol. Nama domain dapat memiliki huruf besar dan kecil, angka, dan simbol - (tanda hubung). Selain itu, nama domain tingkat atas harus memiliki panjang minimal 2 karakter (semua huruf besar atau kecil), tetapi bisa lebih panjang. Secara sederhana pola regex yang dapat kita gunakan sebagi berikut:
([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+
Berikut contoh penulisan email yang benar sesuai dengan format penulisan email.
name.surname@gmail.com
anonymous123@yahoo.co.id
my_email@outlook.co
Dan berikut ini contoh penulisan email yang tidak sesuai.
johnpapa@gmail
anonymous123@...id
myayamemail@outlook.
Berikut contoh program python untuk memvalidasi email.
import re
regex = re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+')
def isValid(email):
if re.fullmatch(regex, email):
print("Valid email")
else:
print("Invalid email")
Modul re berisi kelas dan metode untuk mewakili dan bekerja dengan Ekspresi Reguler di Python, jadi ini digunakan untuk memanggil fungsi regex. pada metode regex terdapat berbagai macam metode. Untuk program ini digunakan Metode re.fullmatch (pattern, string, flags). Metode ini mengembalikan objek yang cocok hanya jika seluruh string cocok dengan polanya, Jika tidak maka metode ini tidak mengembalikan apapun.
Metode re.compile() mengkompilasi pola regex menjadi objek regex. Ini sering digunakan untuk alasan efisiensi, ketika kita berencana untuk mencocokkan pola lebih dari sekali.
isValid("name.surname@gmail.com")
isValid("anonymous123@yahoo.co.id")
isValid("anonymous123@...id")
isValid("...@domain.us")
Hasilnya seperti berikut
Valid email
Valid email
Invalid email
Invalid email
Selamat mencoba,.
sumber: https://stackabuse.com/python-validate-email-address-with-regular-expressions-regex/
0 comments:
Post a Comment