JAVA

#1. 정규식

MinsooLee 2021. 8. 30. 21:04

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******로 나옴

 

 

* 이 외의 정규표현식은 계속 추가할 예정