# Ekspresi reguler dalam filter dan penggantian

Language: id
Canonical: <https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian>
Published: 2026-11-11T00:27:47+00:00
Modified: 2026-11-11T00:27:48+00:00

Ekspresi reguler menjelaskan teks yang perlu ditemukan. Alih-alih satu frasa persis, Anda menentukan pola: misalnya, kata “Permintaan” dan nomor apa pun setelahnya. Nomor dapat berubah pada setiap pesan, tetapi pola tetap akan menemukan bagian yang diperlukan.

Dengan cara ini, Anda dapat mencari tanggal, tautan, kata tertentu, seluruh baris, dan hampir semua kombinasi teks yang dapat dijelaskan dengan aturan. Beberapa simbol sederhana memungkinkan Anda memperhitungkan nilai yang berubah, memilih dari beberapa pilihan, dan melewati bagian yang tidak diperlukan. Kemampuan pencarian ini jauh lebih luas daripada pencarian kata biasa.

![Mencari bagian teks yang cocok dengan pola](<https://flowin.click/wp-content/uploads/2026/10/cf-da8cc01b43e113428f944f35.webp>)

Daftar isi artikel

- [Kemampuan ekspresi reguler](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#headline-6-324>)
- [Cara membaca ekspresi reguler](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#reading-pattern>)
- [Sintaks ekspresi reguler](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#headline-11-324>)
- [Pengaturan pencarian di FLOWIN](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#flowin-flags>)
- [Pola siap pakai](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#headline-45-640>)
- [Pertanyaan umum](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#faq>)

## Kemampuan ekspresi reguler

Dukungan ekspresi reguler dalam filter dan penggantian FLOWIN memungkinkan Anda:

- Menambahkan teks apa pun di awal atau akhir pesan.
- Menyaring pesan yang memuat tautan.
- Menghapus tautan, nomor telepon, alamat email, dan informasi kontak lainnya dari pesan yang disalin.
- Menyaring pesan panjang atau, sebaliknya, hanya pesan pendek.

Mode “Regexp”

Dalam pengaturan filter atau penggantian, mode “Regexp” di sebelah bidang “Cari” mengaktifkan pencarian dengan ekspresi reguler. Polanya sendiri ditentukan di bidang ini. Pembuatan aturan dan penerapannya ke penerusan dijelaskan dalam petunjuk [filter](<https://flowin.click/dokumentaciya/filtraciya-peresylaemyh-soobshchenii>) dan [penggantian](<https://flowin.click/dokumentaciya/zameny-v-peresylaemyh-soobshcheniyah>).

[![Mode Regexp di sebelah bidang Cari dalam pengaturan penggantian](<https://flowin.click/wp-content/uploads/2026/11/cf-cfba013b0a55d864f265538a.webp>)](<https://flowin.click/wp-content/uploads/2026/11/cf-cfba013b0a55d864f265538a.webp>)

“Regexp” dalam pengaturan penggantian.

## Cara membaca ekspresi reguler

Mari mulai dengan pola ` Permintaan №\d+ `. Pola ini menemukan ` Permintaan №125 ` maupun ` Permintaan №8072 ` meskipun nomornya berbeda. Kita akan membacanya dari kiri ke kanan:

- ` Permintaan № ` mencari huruf, spasi, dan tanda nomor tersebut secara persis.
- ` \d ` berarti angka apa pun dari 0 hingga 9.
- ` + ` mensyaratkan satu atau lebih angka tersebut secara berurutan.

Bagian yang ditemukan disebut kecocokan. Dalam pesan ` Permintaan №125 diterima ` kecocokannya adalah ` Permintaan №125 `, sedangkan kata ` diterima ` berada di luarnya. Dalam filter, kecocokan membantu menentukan apakah pesan memenuhi kondisi; dalam penggantian, kecocokan menunjukkan bagian yang harus diubah.

Huruf dan spasi biasa dalam pola dicari sesuai penulisannya. Simbol khusus menetapkan aturan. Di bawah ini, kita akan membahas notasi dasar, lalu mengumpulkan contoh siap pakai untuk berbagai tugas.

## Sintaks ekspresi reguler

Untuk mulai menggunakan ekspresi reguler, Anda perlu mengetahui sintaksnya, yaitu memahami arti simbol tertentu.

### Simbol dasar

- ` ^ ` menunjukkan awal teks.
- ` $ ` menunjukkan akhir teks.
- ` . ` cocok dengan karakter apa pun, termasuk pergantian baris.
- ` \d ` cocok dengan angka dari 0 hingga 9.
- ` \w ` cocok dengan huruf Latin, angka, atau garis bawah.
- ` \n ` menunjukkan pergantian baris.
- ` \t ` menunjukkan tabulasi.
- ` \s ` cocok dengan spasi biasa, tabulasi, pergantian baris, carriage return, atau pergantian halaman.
- ` \b ` memeriksa batas kata, misalnya antara huruf dan spasi. Simbol ini tidak menambahkan karakter ke kecocokan.

### Simbol jumlah pengulangan

Simbol jumlah pengulangan menentukan berapa kali karakter atau grup di depannya diulang. Grup menggabungkan beberapa karakter dalam tanda kurung bulat.

- ` * ` berarti 0 kali atau lebih.
- ` + ` berarti 1 kali atau lebih.
- ` ? ` berarti 0 atau 1 kali.
- ` {5} ` berarti tepat 5 kali.
- ` {1,5} ` berarti 1 hingga 5 kali.
- ` {1,} ` berarti 1 kali atau lebih.
- ` {0,5} ` berarti 0 hingga 5 kali.

Misalnya:

- ` a+ ` cocok dengan ` a `, ` aa `, ` aaa ` dan seterusnya.
- ` .* ` cocok dengan teks apa pun, bahkan teks kosong.
- ` ab{3} ` cocok dengan ` abbb `.

### Grup

Tanda kurung bulat ` ( ) ` menggabungkan karakter menjadi grup. Grup paling sering digunakan bersama [simbol jumlah pengulangan](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#quantifiers>) atau garis vertikal ` | ` yang berarti ATAU secara logis.

Misalnya:

- ` ((Bob)|(Alice)) ` cocok dengan ` Bob ` maupun ` Alice `.
- ` (abc){3} ` cocok dengan ` abcabcabc `.

### Himpunan karakter

Untuk menentukan himpunan karakter, digunakan tanda kurung siku ` [ ] `. Di dalamnya, karakter dapat dicantumkan seperti berikut:

- ` [а-яё] ` cocok dengan huruf apa pun dalam alfabet Rusia.
- ` [абвгд] ` atau ` [а-д] ` cocok dengan salah satu huruf ` а `, ` б `, ` в `, ` г ` atau ` д `.
- ` [a-z] ` cocok dengan huruf Latin apa pun dari ` a ` hingga ` z `.
- ` [0-5] ` cocok dengan angka apa pun dari 0 hingga 5.

Simbol ` ^ ` di awal himpunan berarti BUKAN secara logis:

- ` [^а-яё] ` cocok dengan karakter apa pun selain huruf alfabet Rusia.
- ` [^a-z] ` cocok dengan karakter apa pun selain huruf Latin dari ` a ` hingga ` z `.
- ` [^\s] ` cocok dengan karakter apa pun yang tidak termasuk dalam ` \s `.

Di FLOWIN, ` \w ` tidak mencakup Kiril. ` [а-яё] ` mencakup alfabet Rusia, termasuk ` ё `. Huruf ini tidak termasuk dalam rentang ` [а-я] ` tersebut.

### Escape karakter

Jika simbol khusus diperlukan sebagai teks biasa, bukan sebagai bagian dari sintaks, letakkan garis miring terbalik ` \ ` di depannya. Ini disebut escape.

Misalnya:

- ` :\) ` cocok dengan ` :) `. Tanda kurung di sini berarti tanda kurung biasa, bukan grup.
- ` siapa\? ` cocok dengan ` siapa? `. Tanda tanya di sini tidak menentukan jumlah pengulangan.

## Pengaturan pencarian di FLOWIN

Flag mengubah aturan umum pencarian, misalnya apakah huruf besar dan kecil perlu dibedakan. Di FLOWIN, sebagian pengaturan sudah aktif, sehingga pola yang sama dapat berperilaku berbeda dibandingkan penguji pihak lain dengan pengaturan default.

Flag sudah diatur

Dalam filter dan penggantian, sudah diaktifkan ` IgnoreCase (i) `, ` Singleline (s) `, ` RE2 ` dan ` Unicode `. Anda tidak perlu menambahkannya secara manual ke setiap pola. Berikut hal penting dalam praktik:

- ` i ` menonaktifkan pembedaan huruf besar dan kecil: ` beli ` akan menemukan ` Beli ` maupun ` BELI `.
- ` s ` memungkinkan titik ` . ` menemukan pergantian baris. Karena itu, ` .* ` dapat menangkap beberapa baris sekaligus.
- Mode multibaris ` Multiline (m) ` nonaktif secara default: ` ^ ` dan ` $ ` merujuk ke awal dan akhir seluruh pesan, bukan setiap baris.
- ` RE2 ` menentukan karakteristik sintaks: ` \d ` mencari angka 0–9, sedangkan ` \w ` hanya huruf Latin, angka, dan garis bawah. Pengaktifan ` Unicode ` tidak menambahkan Kiril ke ` \w `.

Untuk contoh siap pakai di bawah, tidak ada pengaturan yang perlu diubah. Jika Anda mengujinya di layanan lain, perhatikan pengaturan ini: nama flag yang sama belum menjamin perilaku mesin yang berbeda akan sama.

## Pola siap pakai

Pilih tugas lalu salin pola ke bidang “Cari” dengan mode “Regexp”. Contoh menampilkan teks yang ditemukan. Apa yang selanjutnya terjadi pada pesan bergantung pada filter atau penggantian yang diatur.

### Nomor permintaan yang selalu berubah

Menemukan permintaan tanpa mengetahui nomornya terlebih dahulu.

Pola:  
` Permintaan №\d+ `

Teks: ` Permintaan №125 diterima. Permintaan №8072 menunggu balasan. `

Akan menemukan: ` Permintaan №125 `, ` Permintaan №8072 `.

Teks “Permintaan №” tetap sama, sedangkan ` \d+ ` menemukan satu atau lebih angka secara berurutan. Spasi sebelum № juga termasuk dalam pola. “Permintaan №ABC” tidak akan cocok.

### Pesan yang hanya berisi enam angka

Memilih pesan yang memuat kode tepat enam angka.

Pola:  
` ^\d{6}$ `

Teks: ` 482901 `

Akan menemukan: ` 482901 `.

Awal dan akhir membatasi seluruh pesan, sedangkan ` {6} ` menentukan enam angka. “Kode: 482901”, “48290”, dan “482901 ” dengan spasi di akhir tidak akan cocok.

### Salah satu dari beberapa pilihan teks

Menemukan pesan yang menyebut salah satu dari dua status.

Pola:  
` selesai|dibatalkan `

Teks: ` Selesai: berkas dikirim. Tugas lain dibatalkan. `

Akan menemukan: ` Selesai `, ` dibatalkan `.

Garis vertikal berarti “atau”. Huruf besar dan kecil tidak dibedakan. Tanpa batas kata, pola juga akan menemukan “selesai” di dalam kata “selesainya”.

### Kata utuh tanpa kecocokan di dalam kata lain

Menemukan kata “beli”, dengan melewati “pembelian” dan “membeli”.

Pola:  
` \bbeli\b `

Teks: ` Beli, pembelian dan membeli. `

Akan menemukan: ` Beli `.

` \b ` di kedua sisi memeriksa batas kata. Spasi dan tanda baca dapat memisahkan kata dari teks di sekitarnya; keduanya tidak termasuk dalam kecocokan.

### Tanggal dalam format hari.bulan.tahun

Menemukan tanggal dengan hari dan bulan yang ditulis dalam dua angka serta tahun dalam empat angka.

Pola:  
` \d{2}\.\d{2}\.\d{4} `

Teks: ` Pertemuan 16.10.2026 pukul 12:00. `

Akan menemukan: ` 16.10.2026 `.

` \. ` menunjukkan titik biasa, bukan sembarang karakter. Pola memeriksa bentuk penulisan, bukan kalender: “99.99.2026” juga akan cocok.

### Tagar dalam bahasa Rusia dan Inggris

Menemukan tagar yang terdiri dari huruf, angka, dan garis bawah.

Pola:  
` #[а-яёa-z0-9_]+ `

Teks: ` #Новости #release_2 #всё_готово `

Akan menemukan: ` #Новости `, ` #release_2 `, ` #всё_готово `.

Setelah \# terdapat satu atau lebih karakter dari himpunan. Spasi atau tanda hubung akan mengakhiri kecocokan: dalam “\#план-дня”, hanya “\#план” yang akan ditemukan.

### Penyebutan berbentuk @username

Menemukan teks yang menyerupai penyebutan pengguna atau kanal.

Pola:  
` @[a-z0-9_]{3,} `

Teks: ` Penulis: @news_room. Yang lain: @ab. `

Akan menemukan: ` @news_room `.

Setelah @ diperlukan setidaknya tiga huruf Latin, angka, atau garis bawah. Pola mencari bentuk penulisan, bukan memeriksa keberadaan pengguna. Pola juga dapat menemukan bagian dari alamat email.

### Tautan dengan http:// atau https://

Menemukan alamat web yang ditulis secara eksplisit beserta protokolnya.

Pola:  
` https?:\/\/[^\s]+ `

Teks: ` Buka https://example.org/page dan http://example.org `

Akan menemukan: ` https://example.org/page `, ` http://example.org `.

Huruf s bersifat opsional. Setelah //, pola mengambil karakter hingga spasi terdekat atau pemisah lain dari ` \s `. Alamat tanpa protokol tidak akan cocok, sedangkan koma atau titik yang menempel pada alamat dapat masuk ke kecocokan.

### Nomor telepon berupa +7 dan sepuluh angka

Menemukan nomor yang ditulis menyatu tanpa tanda kurung, spasi, dan tanda hubung.

Pola:  
` \+7\d{10} `

Teks: ` Kontak: +79991234567 `

Akan menemukan: ` +79991234567 `.

` \+ ` mencari tanda tambah biasa, sedangkan ` \d{10} ` menentukan tepat sepuluh angka setelah 7. Pilihan “+7 (999) 123-45-67” tidak akan cocok. Ini adalah pencarian berdasarkan bentuk penulisan, bukan pemeriksaan keberadaan nomor; kecocokan juga mungkin terjadi di dalam deretan angka yang lebih panjang.

### Pesan yang dimulai dengan penanda tertentu

Menemukan penanda “Penting:” hanya di awal pesan.

Pola:  
` ^Penting: `

Teks: ` PENTING: pertemuan dijadwalkan ulang. `

Akan menemukan: ` PENTING: `.

^ memeriksa awal seluruh teks. Dalam “Pembaruan: Penting: pertemuan dijadwalkan ulang”, tidak akan ada kecocokan. Penanda di awal baris kedua juga tidak akan cocok karena mode multibaris nonaktif secara default.

### Spasi berlebih di antara kata

Menemukan dua atau lebih spasi biasa secara berurutan untuk kemudian diganti dengan satu spasi.

Pola:  
` [ ]{2,} `

Dalam teks ` Teks··dengan···spasi ` dua kelompok akan ditemukan: dua dan tiga spasi. Tanda ` · ` di sini hanya menunjukkan spasi biasa; Anda tidak perlu memasukkannya.

Di dalam tanda kurung siku terdapat spasi biasa, sedangkan ` {2,} ` mensyaratkan setidaknya dua spasi berurutan. Untuk menghapus spasi berlebih, bagian yang ditemukan diganti dengan satu spasi. Pola ini tidak menyentuh pergantian baris.

### Pesan pendek hingga seratus karakter

Memilih pesan tidak kosong sepanjang 1 hingga 100 karakter.

Pola:  
` ^.{1,100}$ `

Teks: ` Pesan singkat `

Akan menemukan: ` Pesan singkat `.

Titik menghitung semua karakter, termasuk spasi dan pergantian baris. Tanda kurung menentukan batas, sedangkan ^ dan $ mensyaratkan pemeriksaan seluruh pesan. Pesan kosong dan teks lebih dari 100 karakter tidak akan cocok. Emoji gabungan dapat dihitung sebagai beberapa karakter.

Daftar akan terus ditambah. Usulan pola baru dapat dikirim ke dukungan [@value\_maker](<https://t.me/value_maker>).

Menguji pola sendiri

Di [regex101.com](<https://regex101.com/>) Anda dapat menguji ekspresi reguler sendiri dengan mudah. Pengaturan pencariannya dapat berbeda dari FLOWIN, sehingga sebelum diterapkan ke penerusan sebenarnya, pola perlu diuji pada pesan pengujian: dengan dan tanpa kecocokan yang diharapkan.

## Pertanyaan umum

 

**Kapan “Teks” atau “Daftar” sudah cukup, dan kapan perlu “Regexp”?**

Mode “Teks” sesuai untuk satu frasa yang sudah diketahui, sedangkan “Daftar” memungkinkan Anda mencantumkan beberapa pilihan. “Regexp” diperlukan ketika teks berubah mengikuti aturan: misalnya, selalu ada nomor baru setelah kata “Permintaan”. Mode ini juga membantu menentukan batas kata atau jumlah karakter. Tindakan terhadap pesan yang ditemukan diatur secara terpisah dalam [filter](<https://flowin.click/dokumentaciya/filtraciya-peresylaemyh-soobshchenii>) atau [penggantian](<https://flowin.click/dokumentaciya/zameny-v-peresylaemyh-soobshcheniyah>).

 

**Mengapa ekspresi dari penguji daring bekerja berbeda di FLOWIN?**

Hasil bergantung pada mesin dan pengaturan pencarian. Dalam filter dan penggantian FLOWIN, IgnoreCase, Singleline, RE2, dan Unicode sudah aktif, sedangkan Multiline nonaktif secara default. Karena itu, huruf besar dan kecil tidak dibedakan, titik dapat menemukan pergantian baris, sedangkan ` ^ ` dan ` $ ` merujuk ke seluruh pesan. Bandingkan [pengaturan pencarian](<https://flowin.click/id/articles/ekspresi-reguler-dalam-filter-dan-penggantian#flowin-flags>) lalu uji ekspresi di FLOWIN pada pesan dengan dan tanpa kecocokan yang diharapkan.

 

**Mengapa .\* menangkap beberapa baris?**

Singleline aktif di FLOWIN: titik juga cocok dengan pergantian baris. Karena itu, ` .* ` tidak harus berhenti di akhir baris pertama. Jika perlu menemukan teks hingga pergantian baris terdekat, Anda dapat menggunakan ` [^\r\n]+ `: pola ini mencari satu atau lebih karakter selain carriage return dan pergantian baris.

 

**Mengapa \\w tidak menemukan huruf Rusia?**

Dalam pengaturan pencarian FLOWIN, ` \w ` mencakup huruf Latin, angka, dan garis bawah. Untuk huruf Rusia, gunakan ` [а-яё] `, sedangkan untuk deretan huruf tersebut, gunakan ` [а-яё]+ `. Huruf ` ё ` harus ditentukan secara terpisah: rentang ` а-я ` tidak mencakupnya. Huruf besar dan kecil tidak perlu dibedakan karena pencarian sudah mengabaikan perbedaan tersebut.

 

**Bagaimana cara menemukan kata utuh, bukan bagian dalam kata lain?**

Tambahkan ` \b ` di kedua sisi kata. Misalnya, ` \bbeli\b ` akan menemukan “Beli” dalam teks “Beli, pembelian dan membeli”, tetapi melewati dua kata lainnya. Batas memeriksa posisi kata, sedangkan spasi dan tanda baca tidak termasuk dalam bagian yang ditemukan.

 

**Apakah pola tanggal dalam contoh memeriksa keberadaan tanggal tersebut?**

Tidak. Ekspresi ` \d{2}\.\d{2}\.\d{4} ` hanya memeriksa bentuk penulisan: dua angka, titik, dua angka, titik, dan empat angka. Karena itu, pola akan menemukan ` 16.10.2026 ` maupun ` 99.99.2026 `. Contoh ini sesuai untuk mencari bagian yang menyerupai tanggal, tetapi tidak memastikan kebenaran hari dan bulan.

 

**Apa yang perlu diperiksa jika ekspresi reguler tidak menemukan apa pun?**

Pertama, pastikan “Regexp” dipilih di sebelah bidang “Cari”. Lalu bandingkan pola dengan teks asli: spasi, pergantian baris, dan karakter biasa juga memengaruhi kecocokan. Misalnya, ` Permintaan №\d+ ` memerlukan spasi sebelum № dan angka setelahnya, sehingga tidak akan menemukan ` Permintaan№125 ` atau ` Permintaan №ABC `. Periksa juga batas ` ^ ` dan ` $ `: secara default, keduanya merujuk ke seluruh pesan. Mulai dari bagian sederhana lalu tambahkan kondisi satu per satu sambil memeriksa hasil setiap kali.
