regex.test V.S string.match를 실행하여 문자열이 정규 표현과 일치하는지 확인합니다.
여러 번 그 끈을 사용하고 있다.match
문자열이 정규 표현과 일치하는지 여부를 확인하는 함수입니다.
if(str.match(/{regex}/))
이 사이에 어떤 차이가 있습니까?
if (/{regex}/.test(str))
그들은 같은 결과를 주는 것 같습니까?
기본 사용법
먼저 각 함수의 기능을 살펴보겠습니다.
regexObject.test(String)
정규 표현과 지정된 문자열 간의 일치 검색을 수행합니다.true 또는 false를 반환합니다.
string.match ( RegExp )
문자열을 정규 표현과 대조할 때 일치 항목을 검색하기 위해 사용됩니다.일치하는 배열을 반환합니다.
null
없는 경우.
부터null
까지 평가하다.false
,
if ( string.match(regex) ) {
// There was a match.
} else {
// No match.
}
성능
퍼포먼스에 차이가 있나요?
네, MDN 사이트에서 다음과 같은 짧은 메모를 발견했습니다.
문자열이 정규 표현 regexp와 일치하는지 여부를 확인해야 할 경우 regexp.test(string)를 사용합니다.
차이가 큰가요?
다시 한 번 대답은 '그렇다'입니다!이 jsPerf를 조합하면 브라우저에 따라 30%~60%의 차이가 납니다.
결론
사용하다.test
더 빠른 부울 체크를 원할 경우.사용하다.match
를 사용할 때 모든 일치 항목을 검색하다g
글로벌 플래그
regexp의 글로벌플래그를 고려하는 것을 잊지 마세요.
var reg = /abc/g;
!!'abcdefghi'.match(reg); // => true
!!'abcdefghi'.match(reg); // => true
reg.test('abcdefghi'); // => true
reg.test('abcdefghi'); // => false <=
이는 Regexp가 새로운 일치가 발견되었을 때 lastIndex를 추적하기 때문입니다.
언급URL : https://stackoverflow.com/questions/10940137/regex-test-v-s-string-match-to-know-if-a-string-matches-a-regular-expression
'programing' 카테고리의 다른 글
PHP의 효율적인 JPEG 이미지 크기 조정 (0) | 2022.09.21 |
---|---|
python pander에서 data Frame을 두 개 이상의 열로 정렬하는 방법은 무엇입니까? (0) | 2022.09.21 |
정적 방식이 하나의 방법으로 간주되는 이유는 무엇입니까? (0) | 2022.09.21 |
SQL 예약어를 테이블 이름으로 사용하는 방법 (0) | 2022.09.21 |
PHP에서 숫자를 월 이름으로 변환 (0) | 2022.09.21 |