1. 정규식(Regular Expressions)이란?
- 문자열에 어떤 패턴의 문자들이 있는지 찾는데 도움을 줌
- 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어
- 줄여서 Regex라고도 함
- String 함수들과 함께 사용: s.matches(regex) / s.split(regex) / s.replaceAll(regex)
2. 정규식 표현방법
예시) String s = "abc de fg
| Regular Expression | Description | 예시 |
| ^ | 문자열의 시작을 의미 | s.replaceAll("^a", "*") : "*bc de fg |
| $ | 문자열의 종료를 의미 | s.replaceAll("g$", "*") : abc de f* |
| . | 문자 1개를 의미 | s.replaceAll("a.", "*") : *c de fg |
| [...] | [] 안의 한 문자 또는 문자집합 | s.replaceAll("[ab]", "*") : **c de fg |
| [...][...] | []안의 문자들의 조합 - 1문자로 취급 | s.replaceAll("[a][b]", "*") : *c de fg |
| [.. - ..] | 문자의 집합일 경우 -로 범위 지정 | s.replaceAll("[a-d]", "*") : *** *e fg |
| [^...] | []안의 문자(혹은 문자집합)을 제외 | s.replaceAll("[^abc ]", "*") : abc ** ** |
| A|B | A 또는 B | s.replaceAll("a|g", "*") : *bc de f* |
| * | * 앞의 문자 반복 | ^[a-zA-Z]*$*: 문자만 허용 |
- [ab]는 a, b를 각각 한 문자로 취급하여 *가 두 개가 나오지만, [a][b]는 ab를 한 문자로 취급하여 *가 한 개가 나옴
- [^...]는 공백도 문자로 취급함 -> 예시에서 [^abc ]가 아닌 [^abc]인 경우 abc******로 나옴
* 이 외의 정규표현식은 계속 추가할 예정
'JAVA' 카테고리의 다른 글
| #3. Arrays 메소드 (0) | 2021.09.05 |
|---|---|
| #2. ArrayList (0) | 2021.08.31 |