Це залежить. Ти міг
string.match(/^abc$/)
Але це не відповідатиме наступному рядку: 'перші 3 літери алфавіту є abc. не abc123 '
Я думаю, ви хочете використовувати \b(межі слів):
var str = 'the first 3 letters of the alphabet are abc. not abc123';
var pat = /\b(abc)\b/g;
console.log(str.match(pat));
Живий приклад: часі http://jsfiddle.net/uu5VJ/
Якщо попереднє рішення працює для вас, я б радив не використовувати його.
Це означає, що у вас може бути щось подібне:
var strs = ['abc', 'abc1', 'abc2']
for (var i = 0; i < strs.length; i++) {
if (strs[i] == 'abc') {
//do something
}
else {
//do something else
}
}
Поки ви могли використовувати
if (str[i].match(/^abc$/g)) {
//do something
}
Це було б значно більш ресурсомістко. Для мене загальним правилом є для простого порівняння рядків використовувати умовний вираз, для більш динамічної картини використовувати регулярний вираз.
Докладніше про регулярні вирази JavaScript: https://developer.mozilla.org/uk/JavaScript/Guide/Regular_Expressions
\babc\b, що дозволить, наприклад,123 abc 123відповідатиabc(але не негативні приклади, як у запитанні); проте^abc$переконайтеся, щоaце на початку рядка таcв кінці - інакше він не збігатиметься.