Javascript 정규표현식에 대해 공부해 보려고 한다.
일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다.
정규표현식을 사용하여 문자열 내에서 특정한 문자나 문자열을 찾을 수 있다.
자바스크립트에서는 RegExp 객체를 사용하여 정규표현식을 생성하고, 문자열 메소드와 함께 사용하여 패턴을 검색하고 변형한다.
let regexp = /hello/;
let str = "Hello world!";
let result = regexp.test(str);
console.log(result) // false (대소문자를 구분하기 때문에)
let regexp = /hello/i;
let str = "Hello world!";
let result = regexp.test(str);
console.log(reult) // true (대소문자를 무시하기 때문에)
플래그를 사용하는 예시이다. i 플래그는 대소문자를 무시하라는 의미이다.
let regexp = new RegExp("hello");
let str = "Hello world!";
let result = regexp.test(str);
console.log(result) // false (대소문자를 구분하기 때문에)
let regexp = new RegExp("hello", "i");
let str = "Hello world!";
let result = regexp.test(str);
console.log(result) // true (대소문자를 무시하기 때문에)
g (global)
: 전역 검색을 한다. 문자열 내에서 패턴과 일치하는 모든 부분을 찾는다.
i (ignore case)
: 대소문자를 무시하고 검색한다.
m (multiline)
: 여러 줄 검색을 수행한다. ^와 $ 메타문자가 문자열 전체가 아닌 각 행의 시작과 끝을 나타내게 된다.
s (single line)
: . 메타문자가 줄바꿈 문자를 포함한 모든 문자와 일치하도록 한다.
u (unicode)
: 유니코드 검색을 수행한다. 이 플래그를 사용하면 \u{...} 형태의 유니코드 이스케이프 시퀀스를 사용할 수 있다.
y (sticky)
: "sticky" 검색을 수행한다. 검색이 정확히 대상 문자열의 현재 위치에서 시작하도록 한다.
이 플래그들은 필요에 따라 조합하여 사용할 수 있다.
예를 들어, 패턴과 일치하는 모든 부분을 대소문자를 무시하고 찾으려면 /pattern/gi와 같이 사용할 수 있다.