Friday, July 13, 2012

Karakter Khusus untuk RegExp JavaScript

Objek RegExp juga menyediakan karakter-karakter khusus yang dapat digunakan di dalam regular expression anda, berikut daftarnya:

\
Untuk \ dapat digunakan dalam dua maksud:

  1. Untuk menjadikan karakter-karakter khusus menjadi karakter literal. Sebagai contoh, * adalah karakter khusus, dan ketika ingin mencocokkan dan mencari karakter * di dalam string target, anda harus menempatkan \ didepan *, kalau tidak, * akan dianggap sebagai karakter khusus. Untuk contoh di bawah ini, * akan dianggap sebagai karakter khusus:

    /a*/

    Pola di atas akan cocok dengan "a", cocok dengan "aa", cocok dengan "aaa", dst dan tidak cocok dengan "a*".

    Sebaliknya untuk contoh di bawah ini, * akan dianggap sebagai karakter literal dan bukan karakter khusus:

    /a\*/

    Pola di atas akan cocok dengan "a*".

  2. Untuk menunjukkan bahwa karakter setelah \ adalah karakter khusus dan tidak ditafsirkan sebagai karakter literal. Sebagai contoh untuk karakter b, B, c, C, d, D, w, W, t, dst yang apabila didahului \ akan menjadikan karakter-karakter tersebut adalah karakter khusus dan bukan karakter literal. Sebagai contoh dibawah ini, t akan dianggap sebagai karakter literal:

    /t/

    Pola di atas akan cocok dengan "t". Dengan menempatkan \ didepan t, itu menyebabkan t bukanlah karakter literal melainkan karakter khusus, \t (untuk tab).

^
^ ini akan menyebabkan regular expression hanya cocok di awal string atau di awal baris. Sebagai contoh untuk regular expression berikut:

/^A/

Akan cocok jika "A" di dalam "An A.", tetapi tidak cocok jika "A" di dalam "an A", karena pola /^A/ tersebut mengharuskan "A" ada di awal string target. Contoh lagi untuk regular expression berikut:

/^Gunawan/

Akan cocok jika "Gunawan" di dalam "Gunawan baik-baik saja" tetapi tidak cocok jika di dalam "Saya sedang bersama Gunawan" atau di dalam "Apakah Gunawan disini?"

$
$ ini akan menyebabkan regular expression hanya cocok di akhir string atau di akhir baris. Sebagai contoh untuk regular expression berikut:

/t$/

tidak cocok jika "t" di dalam "eater", tetapi cocok jika "t" di dalam "eat", karena pola /t$/ tersebut mengharuskan "t" ada di akhir string target. Contoh lagi untuk regular expression berikut:

/Gunawan$/

Akan cocok jika "Gunawan" di dalam "Saya sedang bersama Gunawan" tetapi tidak cocok di dalam "Gunawan baik-baik saja" atau "Apakah Gunawan disini?"

*
* digunakan untuk mencocokkan "nol atau lebih (boleh tidak ada, boleh ada satu atau lebih dari satu)" karakter yang tepat berada di sebelah kiri karakter *. Sebagai contoh untuk regular expression berikut:

/bo*/

Akan cocok dengan "boooo" di dalam "A ghost booooed" dan "b" di dalam "A bird warbled", tetapi tidak cocok di dalam "A goat grunted". Contoh lagi untuk regular expression berikut:

/Ja*vaScript/

Akan cocok dengan "JvaScript", "JavaScript", dan "Jaaavascript", tetapi tidak cocok dengan "JovaScript"

+
+ digunakan untuk mencocokkan "satu atau lebih (boleh satu atau lebih dari satu)" karakter yang tepat berada di sebelah kiri karakter +, setara dengan {1,}. Sebagai contoh untuk regular expression berikut:

/a+/

Akan cocok dengan "a" di dalam "candy" dan semua "a" di dalam "caaaaaaandy.". Contoh lagi untuk regular expression berikut:

/Ja+vaScript/

Akan cocok dengan "JavaScript", "JaavaScript", tetapi tidak cocok dengan "JvaScript"

?
? digunakan untuk mencocokkan "nol atau satu (boleh tidak ada, boleh ada satu)" karakter yang tepat berada disebelah kiri karakter ?, setara dengan {0, 1}. Sebagai contoh untuk regular expression berikut:

/e?le?/

Akan cocok dengan "el" di dalam "angel" dan "le" di dalam "angle." Contoh lagi untuk regular expression berikut:

/Ja?vaScript/

Akan cocok dengan "JvaScript" atau "JavaScript" tetapi tidak cocok dengan "JaaavaScript"

.
. digunakan untuk mencocokkan dengan semua karakter tunggal. Sebagai contoh untuk regular expression berikut:

/.n/

Akan cocok dengan "an" dan "on" di dalam "nay, an apple is on the tree", tetapi tidak cocok dengan "nay". Contoh lagi untuk regular expression berikut:

/.../

Akan cocok dengan "ABC", "1+4", "A A", atau apapun yang terdiri dari tiga karakter.

(X)
() digunakan untuk mencocokkan semua isi X. Sebagai contoh untuk regular expression berikut:

/(foo)/

Akan cocok dengan "foo" di dalam "foo bar.". Contoh lagi untuk regular expression berikut:

/belajar(html|css|javascript)/

Akan cocok dengan "belajar html", "belajar css", atau "belajar javascript".

x|y
| dapat dibaca "atau", gunanya yaitu untuk mencocokkan satu dari dua atau lebih dari pilihan yang disediakan. Sebagai contoh untuk contoh regular expression berikut:

/green|red/

Akan cocok dengan "green" di dalam "green apple" dan "red" di dalam "red apple."

{n}
n adalah bilangan bulat positif. Bentuk ini digunakan untuk mencocokkan persisnya n kali. Sebagai contoh untuk regular expression berikut:

/a{2}/

Tidak cocok dengan "a" di dalam "candy," tetapi cocok dengan semua "a" di dalam "caandy," dan "a" kedua sampai "a" yang pertama di dalam "caaandy.". Contoh lagi untuk regular expression berikut:

/[0-9]{4}/

Akan cocok dengan sebanyak empat digit angka di mulai dari 0000 sampai dengan 9999. Contoh lagi untuk regular expression berikut:

/Ja{2}vaScript/

Akan cocok dengan "JaavaScript" tetapi tidak cocok dengan "JvaScript" atau "JavaScript"

{n,}
Di mana n adalah bilangan bulat positif. Bentuk ini digunakan untuk mencocokkan sedikitnya n kali. Sebagai contoh untuk regular expression berikut:

/a{2,}/

Tidak cocok jika "a" di dalam "candy", tetapi semua "a" cocok di dalam "caandy" dan di dalam "caaaaaaandy.". Contoh lagi untuk regular expression berikut:

/Ja{2,}vaScript/

Akan cocok dengan "JaavaScript" atau "JaaavaScript" tetapi tidak cocok dengan "JavaScript"

{n,m}
Di mana n dan m adalah bilangan bulat positif. Bentuk itu digunakan untuk mencocokkan sedikitnya n kali dan sebanyak-banyaknya m kali. Sebagai contoh untuk regular expression berikut:

/a{1,3}/

Tidak ada satupun yang cocok di dalam "cndy", tetapi cocok "a" di dalam "candy," dan di dalam "caandy," dan di dalam "caaaaaaandy". Contoh lagi untuk regular expression berikut:

/Ja{2,3}vaScript/

Akan cocok dengan "JaavaScript" atau "JaaavaScript" tetapi tidak cocok dengan "JavaScript"

[xyz]
Bentuk ini digunakan untuk mencocokkan setiap karakter yang terlampir (xyz adalah mewakili kumpulan karakter) di dalam tanda [ dan tanda ]. Anda dapat menetapkan rentang lingkup karakter-karakter yang akan dicocokkan dengan menggunakan tanda penghubung atau -. Sebagai contoh untuk regular expression berikut:

[abcd]

Adalah sama seperti:

[a-d]

Untuk pola /[abcd]/ akan cocok dengan "b" di dalam "brisket" dan "c" di dalam "ache". Contoh lagi untuk regular expression berikut:

/[A-EG-Z]/

Akan cocok dengan SEMUA HURUP BESAR kecuali F. Contoh lagi untuk regular expression berikut:

/[0-9]/

Akan cocok dengan angka 0 sampai 9. Contoh lagi untuk regular expression berikut:

/[AN]BC/

Akan cocok dengan "ABC" dan "NBC" tetapi tidak cocok dengan "BBC"

[^xyz]
Bentuk ini digunakan untuk mencocokkan dengan semua karakter yang tidak terlampir di dalam tanda [ dan tanda ]. Anda dapat menetapkan rentang karakter-karakter dengan menggunakan tanda penghubung atau -. Sebagai contoh untuk regular expression berikut:

[^abc]

Adalah sama seperti

[^a-c]

Pola /[^abc]/ akan cocok dengan "r" di dalam "brisket" dan "h" di dalam "chop." Contoh lagi untuk regular expression berikut:

/[^AN]BC/

Akan cocok dengan "BBC" dan "CBC" tetapi tidak cocok dengan "ABC" atau "NBC"

\b
\b digunakan untuk membatasi pencocokkan kata. Sebagai contoh untuk regular expression berikut:

/\bn\w/

Akan cocok dengan "no" di dalam "noonday". Contoh lagi untuk regular expression berikut:

/\wy\b/

Akan cocok dengan "ly" di dalam "possibly yesterday.". Contoh lagi untuk regular expression berikut:

/\bor/

Akan cocok dengan "origami" dan "or" tetapi tidak cocok dengan "normal". Contoh lagi untuk regular expression berikut:

/or\b/

Akan cocok dengan "traitor" dan "or" tetapi tidak cocok dengan "perform". Contoh lagi untuk regular expression berikut:

/\bor\b/

Akan cocok dengan semua kata "or" dan tidak ada selain "or" yang akan cocok dengan pola itu.

\B
\B digunakan jika anda ingin tidak untuk membatasi pencocokkan kata. Sebagai contoh untuk regular expression berikut:

/\w\Bn/

Akan cocok dengan "on" di dalam "noonday", dan contoh lagi untuk regular expression berikut:

/y\B\w/

Akan cocok dengan "ye" di dalam "possibly yesterday.". Contoh lagi untuk regular expression berikut:

/\Bor/

Akan cocok dengan "normal" tetapi tidak cocok dengan "origami". Contoh lagi untuk regular expression berikut:

/or\B/

Akan cocok dengan "normal" dan "origami" tetapi tidak cocok dengan "traitor". Contoh lagi untuk regular expression berikut:

/\Bor\B/

Akan cocok dengan "normal" tetapi tidak cocok dengan "origami" atau "traitor"

\d
\d digunakan untuk mencocokkan karakter digit, setara dengan [0-9]. Sebagai contoh untuk regular expression berikut:

/\d/

Atau

/[0-9]/

Akan cocok dengan "2" di dalam "B2 is the suite number.". Contoh lagi untuk regular expression berikut:

/\d\d\d/

Akan cocok dengan "212" dan "415" tetapi tidak cocok dengan "B17"

\D
\D digunakan untuk mencocokkan karakter non-digit, setara dengan [^0-9]. Sebagai contoh untuk regular expression berikut:

/\D/

Atau

/[^0-9]/

Akan cocok dengan "B" di dalam "B2 is the suite number.". Contoh lagi untuk regular expression berikut:

/\D\D\D/

Akan cocok dengan "ABC" tetapi tidak cocok dengan "212" atau "B17"

\f
digunakan untuk mencocokkan form-feed.

\n
digunakan untuk mencocokkan linefeed.

\r
digunakan untuk mencocokkan carriage return.

\t
digunakan untuk mencocokkan tab.

\v
digunakan untuk mencocokkan vertical tab.

\s
\s digunakan untuk mencocokkan karakter spasi putih yang single, termasuk space, tab, form feed, line feed, setara dengan [ \f\n\r\t\v]. Sebagai contoh untuk regular expression berikut:

/\s\w*/

Akan cocok dengan " bar" di dalam "foo bar.". Contoh lagi untuk regular expression berikut:

/over\sbite/

Akan cocok dengan "over bite" tetapi tidak cocok dengan "overbite" atau "over    bite"

\S
\S digunakan untuk mencocokkan karakter selain dari spasi putih yang single, termasuk space, tab, form feed, line feed, setara dengan [^ \f\n\r\t\v]. Sebagai contoh untuk regular expression berikut:

/\S/\w*

Akan cocok dengan "foo" di dalam "foo bar.". Contoh lagi untuk regular expression berikut:

/over\Sbite/

Akan cocok dengan "over-bite" tetapi tidak cocok dengan "overbite" atau "over bite"

\w
\w digunakan untuk mencocokkan dengan setiap karakter alfanumerik termasuk tanda garis bawah, setara dengan [A-Za-z0-9_]. Sebagai contoh untuk regular expression berikut:

/\w/

Akan cocok dengan "a" di dalam "apple," "5" di dalam "$5.28," dan "3" di dalam "3D.". Contoh lagi untuk regular expression berikut:

/A\w/

Akan cocok dengan "A1" dan "AA" tetapi tidak cocok dengan "A+"

\W
\W digunakan untuk mencocokkan bukan dengan setiap karakter alfanumerik termasuk tanda garis bawah, setara dengan [^A-Za-z0-9_]. Sebagai contoh untuk regular expression berikut:

/\W/

Atau

/[^$A-Za-z0-9_]/

Akan cocok dengan "%" di dalam "50%.". Contoh lagi untuk regular expression berikut:

/A\W/

Akan cocok dengan "A+" tetapi tidak cocok dengan "A1" dan "AA"