Skip to content
Banner

What is Regex?Tutorial

✍️ Ardi Syah | πŸ“… July 24, 2025
πŸ•› 0 menit 0 detik read | ⏳ 0 words

1️⃣ Dasar Regex dalam Find & Replace ​

Saat menggunakan Find & Replace di VS Code, kamu bisa mengaktifkan Regex Mode dengan mengklik ikon .* di kolom pencarian atau menggunakan shortcut Alt + R.

πŸ”Ή Simbol Penting dalam Regex

RegexFungsiContoh
.Mewakili karakter apa saja kecuali newlineh.t cocok dengan "hat", "hit", "hot"
.*Mencocokkan semua karakter dalam satu barishello.*world cocok dengan "hello amazing world"
.*?Versi non-greedy (berhenti saat menemukan kecocokan pertama)<b>.*?</b> hanya mengambil teks dalam <b></b> pertama
\dMencocokkan angka (0-9)\d+ cocok dengan "123" dalam "ID: 123"
\wMencocokkan huruf, angka, dan underscore\w+ cocok dengan "username_1"
\sMencocokkan spasi, tab, newlineHello\sWorld cocok dengan "Hello World"
\bWord boundary (batas kata)\bcat\b hanya cocok dengan "cat", tidak "category"

2️⃣ Contoh Find & Replace Praktis ​

🟒 2.1 Menghapus Tag <span> Tanpa Menghapus Isinya ​

πŸ”Ή Kasus:
Kamu ingin menghapus <span class="title">...</span> tapi tetap mempertahankan teks di dalamnya.

βœ… Find (Regex Mode) ​

regex
<span class="title">(.*?)</span>

βœ… Replace dengan ​

regex
$1

πŸ”Ή Hasil Perubahan:

html
<span class="title">Web Development Tutorials</span>

➑ Menjadi:

html
Web Development Tutorials

πŸ“ Penjelasan:

  • (.*?) β†’ Menangkap teks di dalam <span> dengan mode non-greedy supaya berhenti di </span> pertama yang ditemukan.
  • $1 β†’ Mengganti hasil pencarian dengan teks yang ditangkap (tanpa <span>).

🟒 2.2 Mengubah <span> Menjadi <strong> Tanpa Mengubah Teks ​

πŸ”Ή Kasus:
Mengubah <span class="title">...</span> menjadi <strong>...</strong>

βœ… Find (Regex Mode) ​

regex
<span class="title">(.*?)</span>

βœ… Replace dengan ​

regex
<strong>$1</strong>

πŸ”Ή Hasil Perubahan:

html
<span class="title">Important Text</span>

➑ Menjadi:

html
<strong>Important Text</strong>

🟒 2.3 Menambahkan class="highlight" ke Semua <h2> Tanpa Mengubah Teks ​

πŸ”Ή Kasus:
Kamu ingin menambahkan class highlight ke semua <h2> yang belum punya class.

βœ… Find (Regex Mode) ​

regex
<h2>(.*?)</h2>

βœ… Replace dengan ​

regex
<h2 class="highlight">$1</h2>

πŸ”Ή Hasil Perubahan:

html
<h2>My Title</h2>

➑ Menjadi:

html
<h2 class="highlight">My Title</h2>

🟒 2.4 Menemukan dan Menghapus Baris yang Kosong ​

πŸ”Ή Kasus:
Menghapus semua baris kosong atau hanya berisi spasi/tab.

βœ… Find (Regex Mode) ​

regex
^\s*$\n

βœ… Replace dengan (Kosongkan) ​

πŸ”Ή Hasil Perubahan:

html
<h2>Title</h2>

<p>Some content</p>

<p>Another paragraph</p>

➑ Menjadi:

html
<h2>Title</h2>
<p>Some content</p>
<p>Another paragraph</p>

πŸ“ Penjelasan:

  • ^ β†’ Awal baris
  • \s* β†’ Semua spasi/tab
  • $ β†’ Akhir baris
  • \n β†’ Baris baru

🟒 2.5 Mengganti URL dalam Tag <a> Tanpa Mengubah Label ​

πŸ”Ή Kasus:
Kamu ingin mengubah semua tautan dari http:// menjadi https:// tapi tanpa mengubah teks di dalam <a>.

βœ… Find (Regex Mode) ​

regex
<a href="http://(.*?)">

βœ… Replace dengan ​

regex
<a href="https://$1">

πŸ”Ή Hasil Perubahan:

html
<a href="http://example.com">Klik di sini</a>

➑ Menjadi:

html
<a href="https://example.com">Klik di sini</a>

3️⃣ Tips & Best Practices ​

βœ… Gunakan .*? untuk pencarian non-greedy agar tidak menangkap lebih dari yang diinginkan.
βœ… Gunakan $1, $2, ... untuk menggantikan teks yang ditangkap oleh regex.
βœ… Cek hasil dengan "Find All" sebelum mengganti seluruh file!
βœ… Gunakan fitur multi-cursor (Ctrl + D atau Alt + Click) jika ada pola yang bisa diubah manual.


Kalau kamu ingin mengubah hanya kondisi ## (h2 dalam Markdown) tanpa mengubah # (h1) atau ### (h3) di VS Code menggunakan Find & Replace dengan Regex, berikut caranya:


πŸ”Ή Regex untuk Menemukan Hanya ## (h2) ​

βœ… Find (Regex Mode) ​

regex
(?<!#)##(?!#)

πŸ“ Penjelasan: ​

  • (?<!#) β†’ Pastikan di depan ## tidak ada # (agar tidak menangkap ###).
  • ## β†’ Menangkap ## sebagai target penggantian.
  • (?!#) β†’ Pastikan setelah ## tidak ada # (agar tidak menangkap ###).

πŸ”Ή Contoh Perubahan ​

Sebelum:

md
# Ini H1
## Ini H2
### Ini H3
## H2 Kedua
#### Ini H4

Misalnya, ingin menambahkan class="highlight" hanya ke ## (h2):

βœ… Replace dengan: ​

regex
## <span class="highlight">

Hasil Akhir:

md
# Ini H1
## <span class="highlight"> Ini H2
### Ini H3
## <span class="highlight"> H2 Kedua
#### Ini H4

πŸ”Ή Contoh Kasus Lain ​

Mengubah ## menjadi == ... == (Markdown Highlight) ​

Jika kamu ingin mengganti ## dengan format highlight ==text==:

βœ… Find (Regex Mode) ​

regex
(?<!#)## (.*)

βœ… Replace dengan ​

regex
== $1 ==

πŸ”Ή Sebelum:

md
# Ini H1
## Ini H2
### Ini H3
## H2 Kedua

πŸ”Ή Setelah Replace:

md
# Ini H1
== Ini H2 ==
### Ini H3
== H2 Kedua ==

🎯 Kesimpulan ​

KeperluanFind (Regex)Replace Dengan
Hapus <span> tanpa hapus teks<span class="title">(.*?)</span>$1
Ubah <span> jadi <strong><span class="title">(.*?)</span><strong>$1</strong>
Tambah class ke <h2><h2>(.*?)</h2><h2 class="highlight">$1</h2>
Hapus baris kosong^\s*$\n(kosongkan)
Ganti http:// jadi https:// di <a><a href="http://(.*?)"><a href="https://$1">
KeperluanFind (Regex)Replace Dengan
Ubah hanya ## menjadi h2 HTML(?<!#)## (.*)<h2>$1</h2>
Tambahkan class="highlight" ke ##(?<!#)## (.*)## <span class="highlight">$1</span>
Ganti ## dengan highlight Markdown ==(?<!#)## (.*)== $1 ==

Dengan regex ini, kamu bisa target hanya ## tanpa kena # atau ###! πŸš€