fungsi re.match ini mencoba untuk mencocokkan pola dari posisi awal dari string.
contoh:
#!/usr/bin/python
import re
line = "Kucing dan Anjing berteman baik"
matchObj = re.match( r'(.*) dan (.*?) .*', 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:
matchObj.group() : kucing dan anjing berteman baik
matchObj.group(1) : kucing
matchObj.group(2) : anjing
pembahasan program :
fungsi re.match ditulis sebagai berikut:
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)
Fungsi Regex yang digunakan yaitu : (.*) are (.*?) .*
(.*) : Mencocokkan karakter apapun yang ada di dalam kurung
dan : Mencocokkan kata "dan"
(.*?) : Mencocokkan karakter apapun hanya sampai spasi (satu kata) untuk dikelompokkan dalam group yang sama
.* : Mencocokkan karakter apapun
Jika kita ubah katanya menjadi :
line = " kucing dan anjing berteman baik. Walau anjing selalu mengejar kucing, mererka selalu berteman"
maka hasil menjadi :
matchObj.group() : kucing dan anjing berteman baik. Walau anjing selalu mengejar kucing, mererka selalu berteman
matchObj.group(1) : kucing
matchObj.group(2) : anjing
tanpa re.M dan re.I
matchObj = re.match( r'(.*) dan (.*?) .*', line)
Hasil:
matchObj.group() : kucing dan anjing berteman baik. Walau anjing selalu mengejar kucing, mererka selalu berteman
matchObj.group(1) : kucing
matchObj.group(2) : anjing
Hasilnya sama
selamat mencoba
sumber:
http://www.w3big.com/id/python/python-reg-expressions.html
https://docs.python.org/2/library/re.html
0 comments:
Post a Comment