Depende. Tú podrías
string.match(/^abc$/)
Pero eso no coincidiría con la siguiente cadena: 'las primeras 3 letras del alfabeto son abc. no abc123 '
Creo que te gustaría usar \b
(límites de palabras):
var str = 'the first 3 letters of the alphabet are abc. not abc123';
var pat = /\b(abc)\b/g;
console.log(str.match(pat));
Ejemplo en vivo: http://jsfiddle.net/uu5VJ/
Si la solución anterior funciona para usted, le aconsejaría que no la use.
Eso significa que puede tener algo como lo siguiente:
var strs = ['abc', 'abc1', 'abc2']
for (var i = 0; i < strs.length; i++) {
if (strs[i] == 'abc') {
//do something
}
else {
//do something else
}
}
Si bien podrías usar
if (str[i].match(/^abc$/g)) {
//do something
}
Sería considerablemente más intensivo en recursos. Para mí, una regla general es que para una comparación de cadena simple use una expresión condicional, para un patrón más dinámico use una expresión regular.
Más sobre expresiones regulares de JavaScript: https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions
\babc\b
, lo que permitiría, por ejemplo,123 abc 123
hacer coincidirabc
(pero no los ejemplos negativos como en la pregunta); sin embargo,^abc$
se asegurará de quea
esté al principio de la cadena yc
al final; de lo contrario, no coincidirá.