김찬진의 개발 블로그
23/02/01 [정규표현식(regex)?] 본문
정규표현식 연습
\w: 알파벳, 한글, 숫자, 언더바
\w를 표현하기 위해선 실제로는 \\w이렇게 써야함
정규 표현식 역슬래시(\)는 확장문자
역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미
표현 | 문법 |
\ | 확장 문자의 시작 |
\b | 단어의 경계 |
\B | 단어가 아닌 것의 경계 |
\A | 입력의 시작부분 |
\G | 이전 매치의 끝 |
\z | 입력의 끝 |
\Z | 입력의 끝이지만 종결자가 있는 경우 |
\s | 공백문자 |
\S | 공백문자를 제외한 문자 |
\w | 알파벳, 숫자, 한글, 언더바 문자 |
\W | 알파벳, 숫자, 한글, 언더바를 제외한 문자 |
\d | 숫자, 즉 [0-9]와 동일 |
\D | 숫자를 제외한 문자 |
^ | 문자열의 시작 |
$ | 문자열의 끝 |
. | 임의의 한 문자 |
* | 앞 문자가 0번 이상 발생 |
+ | 앞 문자가 1번 이상 발생 |
? | 앞 문자가 0번 또는 1번 발생 |
[] | 문자의 집합 또는 범위를 나타냄 [0-9]: 0부터 9까지 범위 중 하나의 문자 [a-z]: a부터 z까지 범위 중 하나의 문자 [^0-9]: 0부터 9까지 범위를 제외한 하나의 문자 [^a-z]: a부터 z까지 범위를 제외한 하나의 문자 |
{} | 횟수 또는 범위를 의미 {3}: 문자 3번 등장 {2,3}: 문자 2번 또는 3번 등장 |
() | 소괄호 안의 문자를 하나의 문자로 인식 |
| | or 조건 |
?: | 콜론(:) 우측 문자 이외의 것은 제외함 |
정규 표현식 | 설명 |
^[0-9]*$ | 숫자 (0부터 9까지의 범위에서 0번 이상의 문자들) ^: 문자열 시작 []: 문자의 집합 또는 범위 0-9: 0부터 9까지 범위 중 하나의 문자 *: 문자가 0번 이상 발생 $: 문자열 끝 |
^[a-zA-Z]*$ | 영문자 (a부터 z까지, A부터 Z까지의 범위에서 0번 이상의 문자들) ^: 문자열 시작 []: 문자의 집합 또는 범위 a-zA-Z: a부터 z까지, A부터 Z까지 범위 중 하나의 문자 *: 문자가 0번 이상 발생 $: 문자열 끝 |
^[가-힣]*$ | 한글 (가부터 힣까지 범위에서 0번 이상의 문자들) ^: 문자열 시작 []: 문자의 집합 또는 범위 가-힣: 가부터 힣까지 범위 중 하나의 문자 *: 문자가 0번 이상 발생 $: 문자열 끝 |
\\w+@\\w+\\.\\w+(\\.\\w+)? | E-Mail (e.g. java@naver.com) \: 확장문자 시작 \w+: 알파벳, 숫자, 한글, 언더바가 1번 이상 발생 (e.g. java) @: @ (e.g. @) \: 확장문자 시작 \w+: 알파벳, 숫자, 한글, 언더바가 1번 이상 발생 (e.g. naver) \\.: . (문자열이 아니므로 \\.(확장문자+이스케이프 문자 사용)) (e.g. .) \: 확장문자 시작 \w+: 알파벳, 숫자, 한글, 언더바가 1번 이상 발생 (e.g. com) (): 소괄호 속 문자들을 하나의 문자로 취급 ?: 문자가 0번 또는 1번 발생 (\\.\\w+)?: 소괄호 속 문자들을 한 문자로 취급하되 그 문자가 최소 1번 발생 (이메일 형식을 강제하기 위함!) |
^\d{2,3}-\d{3,4}-\d{4}$ | 전화번호 (e.g. 02-910-1234, 010-1234-5678) ^: 문자열 시작 \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {2,3}: 문자의 갯수가 2개 또는 3개 등장(e.g. 02, 010) -: - (문자열이므로 그냥 -(하이픈) 사용) (e.g. -, -) \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {3,4}: 문자의 갯수가 2개 또는 3개 등장 (e.g. 910, 1234) \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {4}: 문자의 갯수가 4개 등장 (e.g. 1234, 5678) $: 문자열 끝 |
^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ | 휴대전화번호 (e.g. 010-1234-5678, 018-999-8888) ^: 문자열 시작 01: 01 (): 소괄호 속 문자들을 하나의 문자로 취급 ?: 콜론(:) 우측 문자 이외의 것은 제외함 0|1|[6-9]: 0 또는 1 또는 6,7,8,9 중 하나의 문자 (e.g. 010, 018) -: - (문자열이므로 그냥 -(하이픈) 사용) (e.g. -, -) (): 소괄호 속 문자들을 하나의 문자로 취급 ?: 콜론(:) 우측 문자 이외의 것은 제외함 \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {3}: 문자가 3번 등장 |: 또는 \d:숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {3}: 문자가 4번 등장 (e.g. 1234, 999) -: - (문자열이므로 그냥 -(하이픈) 사용) (e.g. -, -) \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {4}: 문자가 4번 등장 (e.g. 5678, 8765) $: 문자열 끝 |
\d{6} \- [1-4]\d{6} | 주민등록번호 (e.g. 971111-1234567) \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {6}: 문자가 6번 등장 (e.g. 971111) \-: - (문자열이 아니므로 \-(이스케이프 문자) 사용) (e.g. -) [1-4]: 1부터 4까지의 범위 중 하나의 문자 \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {6}: 문자가 6번 등장 (e.g. 1234567) |
^\d{3}-\d{2}$ | 우편번호 (e.g. 123-45) ^: 문자열 시작 \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {3}: 문자가 3번 등장 (e.g. 123) -: - (문자열이므로 그냥 -(하이픈) 사용) (e.g. -) \d: 숫자, 즉 [0-9]와 동일, 0부터 9까지의 범위 중 하나의 문자 {2}: 문자가 2번 등장 (e.g. 45) $: 문자열 끝 |
'1일1배움 > Java' 카테고리의 다른 글
23/02/02 [next(), nextLine()?] (1) | 2023.02.02 |
---|---|
23/02/01 [replace()? replaceAll()? replaceFirst()?] (0) | 2023.02.01 |
23/01/31 [Character.isLetter()? Character.isDigit()?] (0) | 2023.01.31 |
23/07/14 [Collection? Collections? Iterable? Iterator?] (0) | 2023.01.29 |
23/01/23 [iterator?] (0) | 2023.01.23 |
Comments