답변:
시작 및 끝 구분 기호를 사용하십시오. ^abc$
^abc def ghi$
/^(?:abc|def)$/
나 /^(abc|def)$/
. 그렇지 않으면 그룹을 사용하지 않으면 문자열 시작시 또는 문자열 끝에서 /^abc|def$/
일치 합니다. abc
def
때에 따라 다르지. 넌 할 수있어
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/en/JavaScript/Guide/Regular_Expressions
"^"줄 끝의 "$"를 시작합니다. 예 :
var re = /^abc$/;
"abc"와 일치하지만 "1abc"또는 "abc1"과는 일치하지 않습니다. 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions 에서 확인할 수 있습니다.
\babc\b
예를 허용 것,123 abc 123
에 대한 일치하도록abc
(질문처럼하지만 부정적인 예); 그러나 문자열의 시작 부분 에 있고 끝에^abc$
있는지 확인하십시오 . 그렇지 않으면 일치하지 않습니다.a
c