Fungsi ekspresi reguler mengekstraksi, mencocokkan, mengganti, dan memisahkan nilai string menggunakan pola regex dalam aturan transformasi data.
Daftar fungsi
|
Category |
Function |
Description |
|
Value extraction function |
Mengekstraksi nilai yang sesuai dengan ekspresi reguler. |
|
|
Mengembalikan daftar semua nilai yang sesuai dengan ekspresi reguler. |
||
|
Matching |
Memeriksa apakah suatu nilai sesuai dengan ekspresi reguler. |
|
|
Replacement |
Mengganti karakter tertentu dalam string berdasarkan ekspresi reguler. |
|
|
Splitting |
Memisahkan string menjadi array string. |
regex_select
Mengekstraksi nilai yang sesuai dengan ekspresi reguler.
-
Sintaksis
regex_select(value, r"regular expression", mi=None, gi=None) -
Parameter
Parameter Name
Parameter Type
Required
Description
value
any
Yes
Nilai yang akan dicocokkan.
regular expression
String
Yes
Ekspresi reguler untuk pencocokan.
mi
int
No
Indeks kecocokan yang akan dikembalikan. Nilai default adalah None atau 0, yang mengembalikan kecocokan pertama.
gi
int
No
Indeks capturing group yang akan dikembalikan. Nilai default adalah None atau 0, yang mengembalikan grup pertama.
-
Respons
Mengembalikan nilai yang cocok.
-
Contoh
-
Contoh 1: Ekstraksi nilai pertama dari bidang str yang sesuai dengan ekspresi reguler.
-
Raw log
str: iZbp1a65x3r1vhpe94fi2qZ -
Aturan transformasi
e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0)) -
Hasil
regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ
-
-
Contoh 2: Ekstraksi nilai pertama dan kedua dari bidang str yang sesuai dengan ekspresi reguler.
-
Raw log
str: abc123 xyz456 -
Aturan transformasi
# Ekstraksi nilai pertama dari bidang str yang sesuai dengan ekspresi reguler. e_set("regex", regex_select(v("str"), r"\d+")) # Ekstraksi nilai kedua dari bidang str yang sesuai dengan ekspresi reguler. e_set("regex2", regex_select(v("str"), r"\d+", mi=1)) -
Hasil
regex: 123 regex2: 456 str: abc123 xyz456
-
-
Contoh 3
-
Raw log
str: abc123 xyz456 -
Aturan transformasi
# Ekstraksi nilai grup pertama dari ekspresi pertama di bidang str yang sesuai dengan ekspresi reguler. e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # Ekstraksi nilai grup pertama dari ekspresi kedua di bidang str yang sesuai dengan ekspresi reguler. e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # Ekstraksi nilai grup pertama dari ekspresi pertama di bidang str yang sesuai dengan ekspresi reguler. e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # Ekstraksi nilai grup kedua dari ekspresi pertama di bidang str yang sesuai dengan ekspresi reguler. e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1)) -
Hasil
str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
-
-
regex_findall
Mengembalikan array semua nilai yang sesuai dengan ekspresi reguler.
-
Sintaksis
regex_findall(value, r"regular expression") -
Parameter
Parameter Name
Parameter Type
Required
Description
value
any
Yes
Nilai yang akan dicocokkan.
regular expression
String
Yes
Ekspresi reguler.
-
Respons
Mengembalikan daftar semua nilai yang cocok.
-
Contoh
Ekstraksi semua angka dari bidang str:
-
Raw log
str: iZbp1a65x3r1vhpe94fi2qZ -
Aturan transformasi
e_set("regex_findall", regex_findall(v("str"),r"\d+")) -
Hasil
str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
-
regex_match
Memeriksa apakah suatu nilai sesuai dengan ekspresi reguler.
-
Sintaksis
regex_match(value, r"regular expression", full=False) -
Parameter
Parameter Name
Parameter type
Required
Description
value
any
Yes
Nilai yang akan dicocokkan.
regular expression
string
Yes
Ekspresi reguler.
full
Bool
No
Menentukan apakah harus melakukan pencocokan penuh. Nilai default adalah False.
-
Respons
Mengembalikan true atau false yang menunjukkan apakah nilai tersebut cocok.
-
Contoh
Periksa apakah bidang str berisi angka:
-
Raw log
str: iZbp1a65x3r1vhpe94fi2qZ -
Aturan transformasi
# Periksa apakah bidang str berisi angka. e_set("regex_match", regex_match(v("str"),r"\d+")) # Periksa apakah bidang str hanya terdiri dari angka. e_set("regex_match2", regex_match(v("str"),r"\d+",full=True)) -
Hasil
str: iZbp1a65x3r1vhpe94fi2qZ regex_match: true regex_match2: false
-
regex_replace
Mengganti karakter tertentu dalam string berdasarkan ekspresi reguler.
-
Sintaksis
regex_replace(value, r"regular expression", replace="", count=0) -
Parameter
Parameter name
Parameter Type
Required
Description
value
any
Yes
Nilai yang akan diganti.
regular expression
string
Yes
Ekspresi reguler.
replace
string
No
String pengganti. Nilai default adalah string kosong, yang menghapus karakter yang cocok.
Ekspresi reguler didukung. Misalnya,
r"\1****\2"menentukan bahwa string pengganti menggunakan referensi capturing group.-
\1merepresentasikan grup pertama. -
\2merepresentasikan grup kedua.
count
Number
No
Jumlah penggantian. Nilai default adalah 0, yang mengganti semua kecocokan.
-
-
Respons
String setelah penggantian.
-
Contoh
-
Contoh 1: Ganti semua angka di bidang str dengan 13.
-
Raw log
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 -
Aturan transformasi
e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) -
Hasil
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ
-
-
Contoh 2: Sembunyikan empat digit tengah nomor ponsel.
-
Raw log
iphone: 13900001234 -
Aturan transformasi
e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), )Catatan-
replace=r"\1****\2"menunjukkan bahwa string pengganti diformat sebagair"\1****\2". -
\1merepresentasikan grup pertama, yaitu(\d{0,3}). -
\2merepresentasikan grup kedua, yaitu(\d{4}).
-
-
Hasil
iphone: 13900001234 sec_iphone: 139****1234
-
-
regex_split
Memisahkan string menjadi array string.
-
Sintaksis
regex_split(value, r"regular expression", maxsplit=0) -
Parameter
Parameter Name
Parameter type
Required
Description
value
any
Yes
Nilai yang akan dipisahkan.
regular expression
string
Yes
Ekspresi reguler.
maxsplit
int
No
Jumlah maksimum pemisahan. Nilai default adalah 0, yang memisahkan string pada semua kecocokan. Nilai 1 hanya memisahkan pada kecocokan pertama.
-
Respons
Array substring hasil pemisahan.
-
Contoh
Pisahkan bidang str berdasarkan angka:
-
Raw log
str: iZbp1a65x3r1vhpe94fi2qZ -
Aturan transformasi
e_set("regex_split", regex_split(v("str"),r"\d+")) -
Hasil
str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
-