String.prototype.search()
시도해보기
search()
메서드는 정규 표현식과 이 String
객체간에 같은 것을 찾기
위한 검색을 실행한다.
구문
str.search(regexp)
매개변수
regexp
- 정규 표현식 객체. non-RegExp 객체
obj
가 전달되면, 그것은new RegExp(obj)
을 이용하여RegExp
으로 암묵적으로 변환된다.
반환 값
정규표현식과 주어진 스트링간에 첫번째로 매치되는 것의 인덱스를 반환한다.
찾지 못하면 -1 를 반환한다.
설명
When you want to know whether a pattern is found and also its index in a string use search()
(if you only want to know if it exists, use the similar test()
method on the RegExp prototype, which returns a boolean); for more information (but slower execution) use match()
(similar to the regular expression exec()
method).
예
search()를 이용하기
The following example searches a string with 2 different regex objects to show a successful search (positive value) vs. an unsuccessful search (-1)
var str = "hey JudE";
var re = /[A-Z]/g;
var re2 = /[.]/g;
console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J"
console.log(str.search(re2)); // returns -1 cannot find '.' dot punctuation
사양
사양 | 상태 | 주석 |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) The definition of 'String.prototype.search' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.search' in that specification. |
Standard | |
ECMAScript (ECMA-262) The definition of 'String.prototype.search' in that specification. |
Living Standard |
브라우저 호환성
BCD tables only load in the browser
Gecko-specific notes
flags
was a non standard second argument only available in Gecko : str.search(regexp, flags)- Prior to Gecko 8.0,
search()
was implemented incorrectly; when it was called with no parameters or withundefined
, it would match against the string 'undefined', instead of matching against the empty string. This is fixed; now'a'.search()
and'a'.search(undefined)
correctly return 0. - Starting with Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), the non-standard
flags
argument is deprecated and throws a console warning (bug 1142351). - Starting with Gecko 47 (Firefox 47 / Thunderbird 47 / SeaMonkey 2.44), the non-standard
flags
argument is no longer supported in non-release builds and will soon be removed entirely (bug 1245801). - Starting with Gecko 49 (Firefox 49 / Thunderbird 49 / SeaMonkey 2.46), the non-standard
flags
argument is no longer supported (bug 1108382).