정규식은 해도해도 어렵다..
정규식을 작성하고 정상적으로 작동 되는지 확인할수 있는 페이지
https://regexr.com/
패턴 | 설명 | 예제 |
---|---|---|
^ | 이 패턴으로 시작해야함 | ^abc : abc로 시작해야 함 (abcd, abc12 등) |
^ | 이 패턴으로 시작해야 함 | ^abc : abc로 시작해야 함 (abcd, abc12 등) |
$ | 이 패턴으로 종료되야 함 | xyz$ : xyz로 종료되어야 함 (123xyz, strxyz 등) |
[문자들] | 문자들 중에 하나이어야 함. 가능한 문자들의 집합을 정의 함. | [Pp]ython: "Python" 혹은 "python" |
[^문자들] | [문자들]의 반대로 피해야할 문자들의 집합을 정의함 | [^aeiuo]: 소문자 모음이 아인 문자들 |
| | 두 패턴 중 하나이어야 함(OR 기능) | a | b : a 또는 b 이어야 함 |
? | 앞 패턴이 없거나 하나이어야 함 (Optional 패턴을 정의할 때 사용) |
\d? : 숫자가 하나 있거나 없어야 함 |
+ | 앞 패턴이 하나 이상이어야 함 | \d+ : 숫자가 하나 이상어야 함 |
* | 앞 패턴이 0개 이상이어야 함 | \d* : 숫자가 없거나 하나 이상이어야 함 |
패턴{n} | 앞 패턴이 n번 반복해서 나타나는 경우 | \d{3} : 숫자가 3개 있어야 함 |
패턴{n,m} | 앞 패턴이 최소 n번, 최대 m번 반복해서 나타나는 경우 (n 또는 m은 생략 가능) |
\d{3,5} : 숫자가 3개, 4개 혹은 5개 있어야 함 |
\d | 숫자 0~9 | \d\d\d : 0~9 범위의 숫자가 3개를 의미 (123, 000 등) |
\w | 문자를 의미 | \w\w\w : 문자가 3개를 의미 (xyz, ABC 등) |
\s | 화이트 스페이스를 의미하는데, [\t\n\r\f]와 동일 | \s\s : 화이트 스페이스 문자 2개 의미 (\r\n, \t\t 등) |
. | 뉴라인(\n) 을 제외한 모든 문자를 의미 | .{3} : 문자 3개 (F15, 0x0 등) |