본문 바로가기
Programming

[ 정규표현식 ] 정규표현식 16진수 | 예시로 알아보는 정규표현식 기초

by 코뮤(commu) 2021. 9. 28.
728x90
반응형

 

최근 수업시간에 정규표현식을 배우고 있다.

1학년때 javascript 를 배우면서 잠깐 배웠던 것 같은데, 배우다보니까 점점 재밌어진다!

 

 

 

https://regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

 

정규표현식을 공부하는 데 편리한 사이트이다.

수업 도중에 이 사이트를 활용해서 미니퀴즈를 풀고 있다. 재밌다!

 

 

 

 

 

사이트에 접속하면 위 그림과 같은 페이지가 뜬다.

 

 

 

사진 상으로 빨간 박스가 쳐져있는 부분이 우리가 찾을 패턴(정규표현식) 을 작성하는 부분이고,

 

파란 박스가 있는 부분이 찾을 대상이 되는 문자이다.

 

 

이 사이트를 기준으로 0x로 시작되는 2자리수 16진수를 표기해보자.

 

 

 

 

 

/^0x[0-9A-Fa-f]{2}$/gm

 

 

만약 정규표현식을 처음 공부하는 사람이라면, 위 표현식이 잘 와닿지 않을 수도 있으니

여러가지 기본 규칙을 설명해보겠다!

 

 

 

정규표현식 기본 문법 - 메타문자

 

 

기호 의미
\ 이스케이프 문자
^ 문자열의 시작
$ 문자열의 끝
. 모든 문자와 일치(한 문자)
| OR연산(선택)
[ 클래스의 시작
( 서브패턴의 시작
{ 수량자의 시작

 

 

여기서 특히 ^(삽입기호) 와 $(달러기호)는 자주 쓰인다.

 

^ (삽입기호)

 

의미

  • 다음에 오는 문자와 주어진 문자열의 시작부분과 매치

사용 예시

'/^test/' 가 주어졌을 때,

  • "test game" -> 매치 됨
  • "1st test game" -> 매치 안됨

 

 

$ (달러기호)

 

의미

  • 다음에 오는 문자와 주어진 문자열의 시작부분과 매치

사용 예시

'/^test/' 가 주어졌을 때,

  • "test game" -> 매치 됨
  • "1st test game" -> 매치 안됨

 

 

정규표현식 기본 문법 - 수량자

 

 

기호 의미
? 0 또는 1번만
* 0 또는 1번 이상
+ 1번 이상
{x} x 번만
{x,y} x에서 y 사이
{x,} x 번 이상

 

 

정규표현식 기본 문법 - 문자클래스

 

 

기호 의미
[0-9] 모든 숫자
[^0-9] 숫자 아닌 모든 문자
[\f\r\t\n\v] 모든 공백
[^\f\r\t\n\v] 공백 아닌 모든 문자
[A-Za-z0-9_] 모든 단어 문자
[^A-Za-z0-9_] 단어 아닌 모든 문자

 

 

 

자, 위에 내가 작성해둔 표들을 찾아보면 내가 왜 저런 표현식을 사용했는지 이해가 갈것이다.

 

앞으로 여러 퀴즈들을 풀면서, 내가 기록할 수 있는 것들은 포스팅해야겠다!

728x90
반응형