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 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)