상세 컨텐츠

본문 제목

Regular Expression - 메타 문자

Development/Regular Expression

by thisisnew 2022. 11. 28. 00:01

본문

반응형

 

4. 메타 문자

 

4-1. 메타 문자

 

메타 문자들은 특별한 의미를 가지고 있어서, 정규 표현식에서 그대로 쓰이지 않습니다.

 

https://thisisnew-storage.tistory.com/107

 

Regular Expression - 단일 문자 검색

2. 단일 문자 검색 2-1. 모든 문자 검색 정규 표현식에서.(마침표)는 좀 특별합니다. 마침표는 아무 문자 하나를 의미하는데요. `t.p`gm 예를 들어 t.p는 t와 p사이에 하나의 문자가 들어있다면 반드시

thisisnew-storage.tistory.com

https://thisisnew-storage.tistory.com/108

 

Regular Expression - 문자 집합 검색

3. 문자 집합 범위 3-1. 특정 문자 검색 https://thisisnew-storage.tistory.com/107 Regular Expression - 단일 문자 검색 2. 단일 문자 검색 2-1. 모든 문자 검색 정규 표현식에서.(마침표)는 좀 특별합니다. 마침표는

thisisnew-storage.tistory.com

앞서 몇 가지 메타 문자들(마침표, 역슬래시, 대괄호 등)을 사용하며 확인했었죠.

 

그래서 문자 그대로 사용하기 위해서는, 메타 문자 앞에 역슬래시를 붙여주는 것도 확인했었습니다.

그렇다면 역슬래시를 그대로 사용하기 위해서는 어떻게 해야 할까요?

 

네, 역슬래시 앞에 역슬래시를 붙여주면 됩니다.

그럼 이런 식으로 쓸 수 있습니다.

`C:\\Windows\\`gm

 

 

4-2. 공백 문자 검색

 

만약 정규 표현식으로 공백을 검색해야 할 경우에는 어떻게 할까요?

가령 줄 바꿈 혹은 탭 문자 등을 찾아야 할 수도 있습니다.

 

그럴 때는 아래와 같은 공백 메타 문자들을 사용하면 됩니다.

  • \n : 줄 바꿈
  • \r : 캐리지 리턴
  • \t : 탭
  • \f : form feed
  • \v : 수직 탭

그래서 만약 \n(줄 바꿈 문자)를 사용해보면요.

`\n\n\n\n`gm

이런 식으로 검색하는 것을 볼 수 있습니다.

 

 

4-3. 공백 문자와 공백이 아닌 문자 검색

 

공백을 모두 표현하는 메타 문자도 있습니다.

  • \s : 모든 공백 문자 ([\f\n\r\t\v]와 동일)
  • \S : 공백이 아닌 모든 문자 ([^\f\n\r\t\v]와 동일)
`\s`gm

 

 

4-4. 숫자, 숫자가 아닌 문자 검색

 

앞서 숫자를 검색할 때는 [0-9], 숫자가 아닌 문자를 검색할 때는 [^0-9]를 사용했었는데요.

메타 문자를 사용하면 이것을 더 간단하게 표현할 수 있습니다.

 

  • \d : 숫자 ([0-9]와 동일)
  • \D : 숫자를 제외한 문자 ([^0-9]와 동일)

그래서 앞서 다뤘던 예제를 다시 해보면요.

`t[AaOo]p\d`gm

이렇게 동일하게 검색되는 것을 볼 수 있습니다.

 

 

4-5. 영숫자, 영숫자가 아닌 문자 검색

 

영어, 숫자, 밑줄을 필터링하는 메타 문자도 있습니다.

  • \w : 대소문자와 밑줄을 포함하는 모든 영숫자 ([a-zA-Z0-9_]와 동일)
  • \W : 영숫자, 밑줄이 아닌 모든 문자 ([^a-zA-Z0-9_]와 동일)
`\w\w\w\w\w`gm


이 외에도 많은 메타 문자들이 있고요.

이런 메타 문자들을 문자 클래스(Character classess)라고 부르기도 합니다.

 

더 자세한 정보는 아래의 문서를 확인하시기 바랍니다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes

 

Character classes - JavaScript | MDN

Character classes distinguish kinds of characters such as, for example, distinguishing between letters and digits.

developer.mozilla.org

 

반응형

관련글 더보기

댓글 영역