정규표현식
regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식이라 불림.
https://standout.tistory.com/73
원래 Unix에서 사용하던 Perl의 강력한 기능이었으나 요즘은 다양한 언어제서 지원.
java.util.regex.Pattern에 기호와 작성방법이 설명되어있으나 그 양이 방대함.
자주사용되는 정규식패턴 아래와같은 형식으로 matcher를 compile할 수 있다.
c[a-z] *
c로 시작하는 영단어
String regex = "c[a-z]*";
String input = "cat cats dog";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Match: " + matcher.group());
}
cat
cats
c[a-z]
c로 시작하는 두자리 영단어
c[a-zA-Z]
c로 시작하는 대소문자구분없는 두자리 영단어
c[a-zA-Z0-9]
c|w
c로 시작하는 숫자와 영어의 조합 두글자
.*
모든문자열
c.
c로 시작하는 두자리 문자열
c.*
c로 시작하는 기호포함 모든 문자열
c\.
c.와 일치하는 문자열.
.는 패턴작성에 사용되는문자기때문에 \ escape로 풀어주어야.
c\d
c[0-9]
c와 숫자로 구성된 두자리 문자열
c.*t
c로 시작하고 t로 끝나는 모든 문자열
[b|c].*
[bc].*
[b-c].*
b또는 c로 시작하는 문자열
[^b|c].*
[^bc].*
[^b-c].*
b또는 c로 시작하지 않는 문자열
.*a.*
a를 포함하는 모든 문자열
.*a.+
a를 포함하는 모든 문자열, a이후 한글자 이상 있어야한다.
[b|c].{2}
b또는 c로 시작하는 세자리 문자열, {}는 index가 아닌 b|c이후 2글자란뜻.
'이론' 카테고리의 다른 글
자바의 정석 Chapter09: java.lang패키지와 유용한 클래스 (0) | 2023.12.26 |
---|---|
BigInteger과 BigDecimal의 차이 (0) | 2023.12.26 |
AutoBoxing 오토박싱과 Unboxing 언박싱 (0) | 2023.12.22 |
Overflow 오버플로우 와 Underflow 언더플로우 (0) | 2023.12.14 |
String, StringBuffer, StringBuilder 클래스의 차이 (0) | 2023.12.08 |