4 Oktober 2022

Anchors: mulai _string_ ^ dan akhiran $

Tanda karakter caret ^ dan tanda dollar $ memiliki arti spesial pada regexp. Tanda-tanda tersebut dipanggil dengan nama ???Ancors???.

Tanda caret ^ membandingkan awalan dari text, dan tanda dollar $ ??? membandingkan akhirannya.

Contoh, Kita coba jika text nya memiliki awalan Mary:

let str1 = "Mary had a little lamb";
alert(/^Mary/.test(str1)); // true

Pola ^Mary berarti: ???text nya dimulai dengan Mary???

Sama seperti ini, kita bisa mencoba jika text nya berakhiran dengan snow menggunakan snow$:

let str1 = "it's fleece was white as snow";
alert(/snow$/.test(str1)); // true

Dalam beberapa kasus tertentu kita bisa menggunakan metode string startsWith/endsWith. Regular Expression hanya digunakan untuk test yang lebih kompleks.

Membandingkan keseluruhannya

Kedua achors ^...% sering digunakan untuk menguji apakah sebuah string sama keseluruhannya secara pola atau tidak. Contohnya, untuk memeriksa apakah input dari user menggunakan format yang benar.

Kita coba apakah 12:34 adalah format string atau bukan. Menggunakan: dua angka, lalu titik dua, lalu dua angka lagi.

Didalam bahasa regular expressions itu adalah pola:\d\d:\d\d:

let goodInput = "12:34";
let badInput = "12:345";

let regexp = /^\d\d:\d\d$/;
alert(regexp.test(goodInput)); // true
alert(regexp.test(badInput)); // false

Disini yang cocok untuk pola:\d\d:\d\d harus dimulai dengan ^ dan diakhiri dengan $ yang mana harus cocok.

Seluruh string nya harus menggunakan format yang sama. Jika ada yang berbeda atau ada karakter lebih, maka hasilnya akan menjadi false.

Anchors bertindak berbeda jika tanda pola:m ada. Kita akan mempelajarinya di bab selanjutnya.

Anchors memiliki

Anchors pola:^ dan pola:$ adalah test. Keduanya memiliki ???zero width???.

Dengan kata lain, keduanya tidak mencocokan karakter, akan tetapi memaksa regexp untuk memeriksa kondisi (awal text/akhir text)

Tugas

Which string matches the pattern ^$?

An empty string is the only match: it starts and immediately finishes.

The task once again demonstrates that anchors are not characters, but tests.

The string is empty "". The engine first matches the ^ (input start), yes it???s there, and then immediately the end $, it???s here too. So there???s a match.

Peta tutorial