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)
komentar
<code>
, untuk beberapa baris – bungkus dengan tag<pre>
, untuk lebih dari 10 baris – gunakan sandbox (plnkr, jsbin, < a href='http://codepen.io'>codepen…)