String.prototype.search

은비·2023년 8월 27일
1

JS_String

목록 보기
4/6
post-thumbnail

String.prototype.search

문자열에서 특정 패턴을 검색하고, 일치하는 첫 번째 인덱스를 반환한다.
이 메서드는 정규식(RegExp) 객체를 인자로 받는다.

let str = "Hello World!";

str.search(/o/); // 4
str.search(/x/); // -1
/* 일치하는 해당 문자열을 찾아 인덱스를 반환해준다. */
let str = "Hello World!";
let result = str.search(/world/i); 
/* 정규식에 i는 소문자 구분 없이 검색(case-insensitive search)한다.
이 플래그가 설정되면, 패턴에서 대소문자는 구분되지 않는다. */
console.log(result); // 6

/*
위의 예제에서 search() 메서드는 "world"라는 단어가 시작하는 위치의 인덱스, 6을 반환한다.

search() 메서드의 주요 특징
1. 일치하는 첫 번째 위치 반환: search() 메서드는 일치하는 첫 번째 문자열의 위치를 찾는다. 
만약 일치하는 문자열이 없다면 -1을 반환한다.
2. 정규식 사용: search() 메서드는 정규식 패턴을 사용하여 복잡한 검색 패턴도 가능하게 한다.
전역 검색 무시: RegExp 객체가 global(g) 플래그를 가지고 있어도, 
search() 메서드는 항상 문자열 전체를 검사하며, 첫 번째 일치 항목만 반환한다.
3. 대소문자 무시 옵션: 정규식에 i 플래그가 있다면 대소문자 구분 없이 검색이 수행된다.
4. 검색 결과 수정 불가능: search() 메서드는 원본 문자열을 변경하지 않는다.

주의할 점은 String.prototype.search() 함수가 찾은 결과의 위치(index)만 반환하며 
실제 매칭된 내용 자체를 가져오려면 다른 함수인 match(), matchAll(), or exec() 등을 
사용해야 한다.
*/

0개의 댓글