본문 바로가기
내일배움 정리/JS 문법 공부

정규식 테스트

by GREEN나무 2024. 12. 17.
728x90

정규표현식 (RegExp)

문자열을 검사하거나 처리할 때 사용되는 도구로 특정 패턴과 일치하는 텍스트를 탐색, 대체할 수 있으며, 효율적인 문자열 처리를 제공합니다.

정규표현식 생성 방법

  1. 리터럴 표기법
    • /패턴/플래그
    • 예: /abc/i
  2. RegExp 생성자 사용
    • new RegExp('패턴', '플래그')
    • 예: new RegExp('abc', 'i')
  3. 백슬래시 사용
    • 특정 문자(+, * 등)를 사용하려면 백슬래시(\)를 붙여야 합니다.
    • 예: /a\+/와 new RegExp('a\\+')는 동일한 표현.

정규표현식 메서드

  1. test 메서드
    • 문자열이 정규 표현식과 일치하는지(오름차순 알파벳) 확인하여 true나 false를 반환.
      console.log(/abc/.test("abcde")); // true
      console.log(/abc/.test("abxde")); // false
      

메타 문자

  • 정규표현식에서 자주 사용하는 메타 문자:
    • \d : 숫자 (0-9)
    • \w : 영숫자 (a-z, A-Z, 0-9, _)
    • \s : 공백 문자 (스페이스, 탭, 줄 바꿈)
    • \D : 숫자가 아닌 문자
    • \W : 영숫자가 아닌 문자
    • \S : 공백이 아닌 문자
    • . : 개행 문자를 제외한 모든 문자

범위 지정

  • [0-9]와 같이 대괄호([]) 안에서 하이픈(-)을 사용해 범위를 지정.
    예: /[a-z]/는 모든 소문자 알파벳과 일치.

ex)

숫자 포함 여부 확인

console.log(/[0-9]/.test("Hello123")); // true 
console.log(/[0-9]/.test("Hello")); // false

 

특정 단어 포함 확인

console.log(/hello/i.test("Hello World")); // true (대소문자 무시)

 

복잡한 패턴 찾기

 - 이메일 주소 확인:

let emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
console.log(emailRegex.test("example@mail.com")); // true
console.log(emailRegex.test("not-an-email")); // false

 

문자열 대체

let result = "2024-12-17".replace(/-/g, "/");
console.log(result); // "2024/12/17"

 

 


참고 

 

정규식 테스트 : https://inpa.tistory.com/entry/%F0%9F%92%BB-%EC%A0%95%EA%B7%9C%EC%8B%9D-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%82%AC%EC%9D%B4%ED%8A%B8-%F0%9F%8E%81-%EB%AA%A8%EC%9D%8C

정규식 메타 문자 : http://www.ktword.co.kr/test/view/view.php?no=5851

정규식 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test