Tergantung. Anda bisa
string.match(/^abc$/)
Tapi itu tidak cocok dengan string berikut: '3 huruf pertama dari alfabet adalah abc. tidak abc123 '
Saya pikir Anda ingin menggunakan \b
(batas kata):
var str = 'the first 3 letters of the alphabet are abc. not abc123';
var pat = /\b(abc)\b/g;
console.log(str.match(pat));
Contoh langsung: http://jsfiddle.net/uu5VJ/
Jika solusi sebelumnya bekerja untuk Anda, saya akan menyarankan untuk tidak menggunakannya.
Itu berarti Anda mungkin memiliki sesuatu seperti berikut:
var strs = ['abc', 'abc1', 'abc2']
for (var i = 0; i < strs.length; i++) {
if (strs[i] == 'abc') {
//do something
}
else {
//do something else
}
}
Sementara Anda bisa menggunakannya
if (str[i].match(/^abc$/g)) {
//do something
}
Ini akan menjadi jauh lebih intensif sumber daya. Bagi saya, aturan umum adalah untuk perbandingan string sederhana menggunakan ekspresi kondisional, untuk pola yang lebih dinamis gunakan ekspresi reguler.
Lebih lanjut tentang regex JavaScript: https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions
\babc\b
, yang akan memungkinkan misalnya123 abc 123
untuk mencocokkanabc
(tetapi bukan contoh negatif seperti dalam pertanyaan); Namun,^abc$
akan memastikan bahwaa
itu di awal string danc
pada akhirnya - jika tidak maka tidak akan cocok.