Ekspresi reguler di Looker Studio

Ekspresi reguler (regexp) adalah urutan karakter tertentu yang secara luas atau sempit cocok dengan pola di data Anda. Anda dapat menggunakan ekspresi reguler untuk membuat filter yang lebih fleksibel di diagram dan kontrol. Anda juga dapat menggunakan fungsi ekspresi reguler berikut di formula kolom kalkulasi:

REGEXP_CONTAINS Menampilkan nilai benar jika nilai input berisi pola ekspresi reguler, jika tidak, menampilkan nilai salah.

Pelajari REGEXP_CONTAINS lebih lanjut.
REGEXP_EXTRACT Menampilkan substring pertama yang cocok dalam nilai input yang cocok dengan pola ekspresi reguler.

Pelajari REGEXP_EXTRACT lebih lanjut.
REGEXP_MATCH Menampilkan nilai benar jika nilai input cocok dengan pola ekspresi reguler, jika tidak, menampilkan nilai salah.

Pelajari REGEXP_MATCH lebih lanjut.
EGEXP_REPLACE Mengganti semua kemunculan teks yang cocok dengan pola ekspresi reguler dalam nilai input dengan string penggantian.

Pelajari EGEXP_REPLACE lebih lanjut.

Alternatif untuk penggunaan ekspresi reguler

Membuat ekspresi reguler bisa menjadi proses yang rumit. Sebelum menggunakan fungsi ekspresi reguler, pertimbangkan apakah penggunaan fungsi teks yang lebih sederhana akan mencapai sasaran Anda. Fungsi berikut menyediakan fungsi seperti ekspresi reguler tanpa mengharuskan Anda mengetahui sintaksis regexp.

Fungsi Deskripsi
CONTAINS_TEXT

Menampilkan nilai benar jika teks yang ditentukan ditemukan dalam kolom atau ekspresi, jika tidak, menampilkan nilai salah.

ENDS_WITH

Menampilkan nilai benar jika kolom atau ekspresi diakhiri dengan teks yang ditentukan, jika tidak, menampilkan nilai salah.

LEFT_TEXT

Menampilkan jumlah karakter dari awal string yang ditentukan.

REPLACE Menampilkan salinan teks asli dengan semua kemunculan teks penelusuran yang diganti dengan teks pengganti.
RIGHT_TEXT

Menampilkan jumlah karakter dari akhir string yang ditentukan.

STARTS_WITH

Menampilkan nilai benar jika kolom atau ekspresi diawali dengan teks yang ditentukan, jika tidak, menampilkan nilai salah.

TRIM

Menampilkan teks dengan menghapus spasi di depan dan di belakangnya.

Contoh ekspresi reguler

Cocok jika MyField berisi karakter spasi:

REGEXP_CONTAINS(MyField, "\\s+")

Mengekstrak direktori tingkat atas di URL:

REGEXP_EXTRACT(URL, ^https://[^/]+/([^/]+)/)

Misalnya, jika kolom URL berisi alamat halaman ini, fungsi sebelumnya akan menampilkan looker-studio.

Mengategorikan kampanye iklan menurut bahasa:

CASE
    WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*en\s*\|.*") then "English"
    WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*es\s*\|.*") then "Spanish"
    ELSE "Other language"
END

Misalnya, menerapkan ekspresi reguler ini ke dimensi Kampanye di akun Demo Google Analytics akan memberikan hasil berikut:

Kampanye Bahasa
Kampanye #1 Bahasa lain
1000549 | Demo Google Analytics | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) Inggris
1000549 | Demo Google Analytics | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) Spanyol

Menukar urutan bagian dalam string:

REGEXP_REPLACE(Campaign, R'(.*):(.*)', R'\2 \1')

Pada contoh sebelumnya, bagian dipisahkan dengan titik dua (:).

Karakter meta

Karakter meta adalah karakter yang memiliki makna khusus dalam ekspresi reguler. Berikut adalah beberapa karakter meta yang lebih umum yang dapat Anda gunakan. Perhatikan bahwa contoh ini akan terbuka di Pusat Bantuan Google Analytics, tetapi informasi yang tercantum di sana juga berlaku untuk Looker Studio.

Karakter pengganti

. Mencocokkan satu karakter apa pun (huruf, angka, atau simbol). 1. cocok dengan 10, 1A

1.1 cocok dengan 111, 1A1

Contoh
? Cocok dengan karakter sebelumnya 0 atau 1 kali. 10? cocok dengan 1, 10

Contoh
+ Cocok dengan karakter sebelumnya 1 atau beberapa kali. 10+ cocok dengan 10, 100

Contoh
* Cocok dengan karakter sebelumnya 0 atau beberapa kali. 1* cocok dengan 1, 10

Contoh
| Membuat pencocokan OR.

Jangan gunakan di akhir ekspresi.
1|10 cocok dengan 1, 10

Contoh

Penanda

^ Cocok dengan karakter yang bersebelahan di awal string. ^10 cocok dengan 10 , 10 0, 10 x

^10 tidak cocok dengan 1 10 , 1 10 x

Contoh
$ Mencocokkan karakter yang bersebelahan di akhir string. 10$ cocok dengan 1 10 , 10 10

10$ tidak cocok dengan 10 0, 10 x

Contoh

Grup

( ) Mencocokkan karakter dalam tanda kurung dengan urutan yang sama persis di mana pun pada string.

Juga digunakan untuk mengelompokkan ekspresi lainnya.
(10) cocok dengan 10 , 10 1, 10 11

([0-9]|[a-z]) cocok dengan angka atau huruf kecil apa pun

Contoh
[ ] Mencocokkan karakter dalam tanda kurung dengan urutan apa pun di mana pun pada string. [10] cocok dengan 01 2, 1 20, 2 10

Contoh
- Membuat rentang karakter dalam tanda kurung untuk dicocokkan di posisi mana pun dalam string. [0-9] cocok dengan semua angka dari 0 sampai 9

Contoh

Escape

\\

Menunjukkan bahwa karakter yang bersebelahan harus ditafsirkan secara harfiah dan bukan sebagai karakter meta ekspresi reguler.

\\ menunjukkan bahwa titik yang bersebelahan harus ditafsirkan sebagai titik atau desimal, bukan sebagai karakter pengganti

216\\.239\\.32\\.34 cocok dengan 216.239.32.34

Contoh

Class karakter

\d digit (≡ [0-9])
\D bukan digit (≡ [^0-9])
\s spasi kosong (≡ [\t\n\f\r ])
\S bukan spasi kosong (≡ [^\t\n\f\r ])
\w karakter kata (≡ [0-9A-Za-z_])
\W bukan karakter kata (≡ [^0-9A-Za-z_])

Tips

Menggunakan ekspresi sederhana

Buat ekspresi reguler Anda tetap sederhana. Ekspresi yang sederhana akan lebih mudah diinterpretasikan dan diubah oleh pengguna lain.

Kepekaan huruf besar/kecil

Ekspresi reguler peka huruf besar/kecil secara default. Anda dapat membuat kecocokan tidak peka huruf besar-kecil menggunakan flag (?i). Misalnya, ekspresi ini mengekstrak "abc123" dan "ABC123":

REGEXP_EXTRACT(MyField, '(?i)(a.*)')

Meng-escape garis miring terbalik

Seperti yang telah disebutkan sebelumnya, Anda menggunakan garis miring terbalik (\) untuk meng-escape karakter meta ekspresi reguler jika karakter tersebut harus diinterpretasikan secara harfiah. Untuk mencocokkan garis miring terbalik dalam string yang diberi tanda kutip, Anda juga perlu meng-escape karakter tersebut agar menghasilkan dua garis miring terbalik di ekspresi. Contoh:

REGEXP_REPLACE(String, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")

Sebagai alternatif, pertimbangkan untuk menggunakan awalan literal string mentah (Raw), R:

REGEXP_REPLACE(String, R"(\[.*\])\+(\[.*\])",R"\2 \1")