[RegExp] 정규표현식 이란?

은비·2023년 11월 1일
1

JS_Study

목록 보기
15/18
post-thumbnail

Javascript 정규표현식에 대해 공부해 보려고 한다.

📌 정규 표현식이란?

일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다.
정규표현식을 사용하여 문자열 내에서 특정한 문자나 문자열을 찾을 수 있다.
자바스크립트에서는 RegExp 객체를 사용하여 정규표현식을 생성하고, 문자열 메소드와 함께 사용하여 패턴을 검색하고 변형한다.

정규 표현식 객체 생성 방법

  1. 정규 표현식 리터럴 방식 : 패턴과 플래그로 구성된다.
  • 정규표현식 패턴을 / 로 감싸서 바로 사용하는 방식이다.
    패턴 뒤에는 옵션인 플래그를 붙일 수 있다.
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 플래그는 대소문자를 무시하라는 의미이다.

  1. RegExp 생성자 함수를 사용 : 함수의 인자로 패턴과 플래그로 구성된다.
  • 첫 번째 인자는 패턴이고, 두 번째 인자는 플래그이다.
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와 같이 사용할 수 있다.

0개의 댓글

관련 채용 정보