728x90
반응형
최근 수업시간에 정규표현식을 배우고 있다.
1학년때 javascript 를 배우면서 잠깐 배웠던 것 같은데, 배우다보니까 점점 재밌어진다!
정규표현식을 공부하는 데 편리한 사이트이다.
수업 도중에 이 사이트를 활용해서 미니퀴즈를 풀고 있다. 재밌다!
사이트에 접속하면 위 그림과 같은 페이지가 뜬다.
사진 상으로 빨간 박스가 쳐져있는 부분이 우리가 찾을 패턴(정규표현식) 을 작성하는 부분이고,
파란 박스가 있는 부분이 찾을 대상이 되는 문자이다.
이 사이트를 기준으로 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
반응형
'Programming' 카테고리의 다른 글
[ 정규표현식 ] email 주소 패턴 만들기 | 예제로 알아보는 정규표현식 | 정규표현식 예제 (0) | 2021.10.05 |
---|---|
[ 정규표현식 ] 정규표현식 IPv4 | 정규표현식 아이피 정보 (0) | 2021.09.28 |
[ Socket Programming ] 소켓 프로그래밍 컴파일 시 Dev C++ 에서 발생하는 에러 해결 (0) | 2021.08.27 |
[ CodeUp ] Python 기초 100제 | 6060 번 풀이 (0) | 2021.03.15 |
[ django ]MVT(Model View Template) 패턴 (0) | 2021.03.13 |