什么是正则表达式(在JavaScript中,如果重要的话),只匹配文本是精确匹配?也就是说,在字符串的另一端不应该有额外的字符。
例如,如果我想匹配abc,那么1abc1 1abc和abc1都不匹配。
什么是正则表达式(在JavaScript中,如果重要的话),只匹配文本是精确匹配?也就是说,在字符串的另一端不应该有额外的字符。
例如,如果我想匹配abc,那么1abc1 1abc和abc1都不匹配。
"^"表示行首,"$"表示行尾。如:
var re = /^abc$/;
匹配"abc"但不匹配"1abc"或"abc1"你可以在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions上了解更多
视情况而定。你可以
string.match(/^abc$/)
但这与下面的字符串不匹配:'字母表的前3个字母是abc。不是abc123”
我想你会想要使用\b(单词边界):
Var STR = '字母表的前3个字母是abc。不是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/en/JavaScript/Guide/Regular_Expressions