정규표현식이란 문자열중 원하는 패턴을 가진 문자열을 찾기 위해 해당 문자열의 패턴을 표현한 문자 식입니다.
^ : 문자열의 시작을 나타냅니다. 하지만 [] 안에 사용되면 not으로 쓰입니다.
$ : 문자열의 종료를 의미합니다.
. : 임의의 한 문자
ex) ^c.$ : c로 시작하는 두 글자
* : * 기호 앞의 문자가 없을 수 도 있고 무수히 많을 수도 있다.
ex) ^c.*$ : c로 시작하는 모든 문자 (= c로 시작하는 모든 임의의 문자) // c, c1, c12...
+ : + 기호 앞의 문자가 1개 이상
ex) ^c.+$ : c로 시작하는 두 글자이상 // c1, c2, ccc
? :? 앞의 문자가 없거나 하나 있다.
ex) ^c.?$ : c 이거나 c로 시작하는 두 글자
[] : 문자 집합의 범위를 나타낸다. ([a-z] : a부터 z까지 / [^a-z] : a부터 z까지가 아닌 문자 )
ex) ^[a-c].+$ : a부터 c범위의 문자로 시작하는데 뒤의 문자는 임의의 문자가 1개 이상 올 수 있다.
{} : {} 앞의 문자의 횟수 또는 범위를 의미한다. ( {2}는 2번 , {2, 6}는 2번에서 5번을 의미한다. )
ex) [a-c]{2} : a~c의 문자셋이 2번 반복합니다. // aa , ac , ca..
() : () 안의 문자를 다른 문자로 인식합니다.
| : or과 동일
\ : \다음에 일반문자가 오면 특수문자로, 특수문자가 오면 그 문자 자체를 의미합니다.
\b : 단어의 경계를 의미합니다.
\B : 단어가 아닌 것에 대한 경계를 의미합니다.
\A : 입력의 시작 부분을 의미합니다.
\G : 이전 매치의 끝을 의미합니다.
\Z : 입력의 끝이지만 종결자가 있는 경우를 의미합니다.
\z : 입력의 끝을 의미합니다.
\s : 공백 문자를 의미합니다.
\S : 공백 문자가 아닌 나머지 문자를 의미합니다.
\w : 알파벳이나 숫자를 의미합니다.
\W : 알파벳이나 숫자가 아닌 문자를 의미합니다.
\d : 숫자를 의미합니다. [0-9]와 동일
\D : 숫자를 제외한 모든 문자를 의미합니다.
(?!) : 앞에 (?!)을 넣으면 대소문자는 구분하지 않겠다는 의미입니다.
실습하기 좋은 사이트
Reference
'Java' 카테고리의 다른 글
[Java] static 초기화 블록 (0) | 2023.07.17 |
---|---|
[Java] BigInteger (0) | 2023.07.10 |
[Java] java.util.Objects를 이용한 NPE방어 (0) | 2023.06.23 |
[Java] Wrapper Class (0) | 2023.06.21 |
[자바] 쉬프트 연산자 (0) | 2023.06.15 |