본문 바로가기

언어/JavaScript

[ Javascript ] 문자열 패턴 매칭 시키기

반응형

🌱 문자열 내에서 패턴 매칭하기
문자열에서 특정 패턴을 찾는 일은 텍스트 분석, 유효성 검사, 치환 등의 다양한 작업에서 매우 중요한 기능입니다. 자바스크립트에서는 정규 표현식(Regular Expression)을 활용하여 강력한 패턴 매칭을 수행할 수 있습니다.


1. 문자열 내에서 패턴 매칭하기 - 정규표현식 사용

정규표현식은 문자열 내에서 특정 규칙을 가진 텍스트를 찾기 위한 표현 방식입니다. 자바스크립트에서는 /패턴/플래그 형식으로 사용하거나 RegExp 객체를 통해 정의할 수 있습니다.

  • match() 메서드
    문자열에서 정규식을 사용해 매칭 결과를 배열로 반환합니다.
  • const text = "The rain in Spain stays mainly in the plain"; const result = text.match(/ain/g); console.log(result); // ["ain", "ain", "ain"]
  • test() 메서드
    특정 패턴이 문자열에 존재하는지를 true 또는 false로 반환합니다.
  • const pattern = /hello/; const result = pattern.test("hello world"); console.log(result); // true
  • exec() 메서드
    정규식과 매치되는 결과를 객체 형태로 반환합니다. 반복 사용이 가능한 특징이 있습니다.
  • const pattern = /a(bc)/; const result = pattern.exec("abc"); console.log(result); // ["abc", "bc"]

2. 자주 사용되는 정규 표현식 예시

  • 이메일 형식 검증
  • const email = "test@example.com"; const isValid = /^[\w.-]+@[\w.-]+\.\w+$/.test(email); console.log(isValid); // true
  • 숫자만 포함되었는지 확인
  • const str = "12345"; const onlyNumbers = /^\d+$/.test(str); console.log(onlyNumbers); // true
  • 특정 단어로 시작하는지 확인
  • const str = "Hello, world!"; const startsWithHello = /^Hello/.test(str); console.log(startsWithHello); // true

3. 플래그 옵션 설명

  • g : global, 전체 검색
  • i : ignore case, 대소문자 무시
  • m : multiline, 여러 줄에서 시작/끝 인식
const str = "Hello\nhello";
const pattern = /^hello/mi;
console.log(str.match(pattern)); // ["hello"]


반응형