RegexOne으로 습득한 정규식 & 연습문제 해답 분해해보기

GOTO 10·2022년 10월 24일

https://regexone.com/ (본문의 문제, 답안 출처)
정규식을 단계별로 습득할 수 있는 아주 훌륭한 사이트입니다.

본문에 Practice Problems의 답안이 있으니 스포일러 주의!!

실전압축 정규식

\d			Digit
\w			Alphanumeric (_ 포함)
\s			Whitespace
.			Any Character
\.			.
\D			Non-digit

[abc]		in abc
[^abc]		not in abc
[a-z]		a to z
*			0+ repetitions
+			1+ repetitions
{2,3}		2 to 3 repetitions
?			Optional
^......$    Start with... / End with...
abc|def		abc OR def

괄호는 Capture할 때만 쓰는건줄 알았는데 그냥 묶을 때도 쓴다

연습문제 해답 분해

페이지 우상단 Interactive Tutorial → Practice Problems에서 문제/솔루션 확인 가능

초록색 / 노란색 : 구역 구분
빨간색 글씨 : 캡쳐 해야하는 부분


1) -가 있을 수도 있음
2) 숫자가 1개 이상
3) ,\d+이 0개 이상
4) \.\d+ 혹은 \.\d+(e\d+)가 있을 수도 있음


1) 1이 있을수도 있고, \s나 -가 있을 수도 있음
2) (가 있을 수도 있음
3) \d가 정확히 3번 반복됨 (캡쳐하기 위해 괄호로 감쌈)
4) )가 있을 수도 있음
5) \s나 -가 있을 수도 있고, \d가 정확히 3번 반복됨
6) \s나 -가 있을 수도 있고, \d가 정확히 4번 반복됨


\w\.이 0번 이상 반복 → +와 @는 잡히지 않음


< 다음 \w가 1번 이상 반복


\w가 1번 이상 반복 → 피리오드 → jpg OR png OR gif로 끝남(.jpg.tmp가 잡히지 않도록 $ 사용)


1) \s가 0번 이상 반복으로 시작
2) 임의의 문자가 0번 이상 반복
3) \s가 0번 이상 반복으로 종료
공백 부분을 빼고 캡쳐하기 때문에 결과적으로 양 옆의 공백이 제거됨


1) \w가 1번 이상 반복됨
2) (
3) \w나 .가 1번 이상 반복됨 (:를 배제)
4) :
5) \d가 1번 이상 반복됨
6) )


1) \w가 1번 이상 반복됨
2) ://
3) \w나 -나 .가 1번 이상 반복됨
4) ": 다음 \d가 1번 이상 반복되는 것"이 있을 수도 있음 (포트 번호 Optional)
profile
Python (가끔 C++) | https://solved.ac/profile/goto10 GOLD 1 CLASS 5

0개의 댓글