Ted's Codding study

정규표현식 - RegExp 본문

JavaScript

정규표현식 - RegExp

Ted93 2024. 6. 6. 16:28
JavaScript에서의 정규표현식은 RegExp 객체를 통해 다양한 방식으로 활용 가능
RegExp 생성자와 주요 메서드들(test(), exec(), match(), search(), replace(), split())의 사용
이를 통해 문자열 검색, 검증, 수정 및 분할 작업을 효과적으로 수행 가능

 

1. RegExp 생성자

  • RegExp 객체는 두 가지 방법으로 생성 가능
  • 리터럴 방식과 생성자 함수를 이용하는 방식

1) 리터럴 방식

const regex = /pattern/flags;

 

2) 생성자 함수

const regex = new RegExp("pattern", "flags");

 

3) pattern: 정규표현식의 패턴 부분

4) flags: 검색 옵션

  • g : 전역 검색
  • i : 대소문자 구분 없이 검색
  • m : 여러 줄 검색
  • u : 유니코드; 패턴을 유니코드 코드 포인트의 시퀀스로 취급
  • s : dotAll 모드; . 특수 문자가 줄바꿈 문자도 매치

 

2. RegExp 메서드

1) test()

  • 문자열이 정규표현식과 매치되는지 여부를 확인
  • 반환값: true 또는 false
const regex = /hello/i;
console.log(regex.test('Hello World')); // true

 

2) exec()

  • 정규표현식과 매치되는 정보를 찾아 배열로 반환
  • 반환값: 매치된 정보의 배열 또는 null
const regex2 = /a(b)c/;
const result2 = regex2.exec('abc');
console.log(result2); // [ 'abc', 'b', index: 0, input: 'abc', groups: undefined ]
console.log(result2.index); // 0
console.log(result2.input); // abc

 

3. String 메서드

1) match()

  • 문자열에서 정규표현식과 매치되는 부분을 찾기
  • 반환값: 매치된 결과의 배열 또는 null
const text3 = 'Hello World';
const matches3 = text3.match(/hello/i);
console.log(matches3); // [ 'Hello', index: 0, input: 'Hello World', groups: undefined ]
console.log(matches3[0]); // Hello

 

2) search()

  • 문자열에서 정규표현식과 매치되는 부분의 인덱스를 반환
  • 반환값: 인덱스(찾지 못하면 -1)
// const text3 = 'Hello World'; // 위에 있던 코드
console.log(text3.search(/world/i)); // 6

 

3) replace()

  • 정규표현식과 매치되는 부분을 다른 문자열로 대체
  • 반환값: 새로운 문자열
// const text3 = 'Hello World'; // 위에 있던 코드
console.log(text3.replace(/world/i, 'JavaScript')); // Hello JavaScript

 

4) split()

  • 정규표현식을 구분자로 사용하여 문자열을 배열로 분할
  • 반환값: 분할된 문자열의 배열
const text4 = 'apple,     banana, cherry';
const result4 = text4.split(/,\\s*/);
console.log(result4); // [ 'apple', 'banana', 'cherry' ]

 

 

노션으로 보고 싶다면?

https://short-echidna-b16.notion.site/RegExp-31d4099072dc43eca30d77682697e14c?pvs=4

 

정규표현식 - RegExp | Notion

JavaScript에서의 정규표현식은 RegExp 객체를 통해 다양한 방식으로 활용 가능

short-echidna-b16.notion.site