컴퓨터공학
Regular Expression정규표현식
정규표현식(Regular Expression, Regex)은 문자열의 패턴을 기술하는 형식 언어다. 텍스트 검색·치환·검증에 사용되며, 거의 모든 프로그래밍 언어에서 지원한다.
기본 문법
| 패턴 | 의미 | 예시 |
|---|---|---|
| . | 임의의 한 문자 | a.c → abc, a1c |
| * | 앞 문자 0회 이상 | ab* → a, ab, abb |
| + | 앞 문자 1회 이상 | ab+ → ab, abb |
| ? | 앞 문자 0 또는 1회 | colou?r → color, colour |
| ^ | 문자열 시작 | ^Hello |
| $ | 문자열 끝 | World$ |
| [abc] | a, b, c 중 하나 | [aeiou] → 모음 |
| [^abc] | a, b, c 제외 | [^0-9] → 숫자 제외 |
| \d | 숫자 | \d+ → 하나 이상의 숫자 |
| \w | 단어 문자 | \w+ → 단어 |
| \s | 공백 문자 | \s+ → 공백 |
| {n,m} | n~m회 반복 | \d{2,4} → 2~4자리 숫자 |
Python 예시
주요 활용
- •입력 유효성 검사 (이메일, 전화번호)
- •로그 파싱
- •HTML/텍스트 데이터 추출
- •코드에서 패턴 검색 (grep)
관련 개념
- •컴파일러 — 정규표현식은 유한 오토마타 기반
- •Python — re 모듈
- •JavaScript — RegExp 객체
참고문헌
- •Friedl, J. Mastering Regular Expressions (O'Reilly)