본문 바로가기
IT/Java

Java 에서의 정규 표현식

by 성준하이 2023. 6. 14.
반응형

정규표현식에 대한 정의는 이전 포스팅에서도 많이 다룬적이 있기에 해당 참고 포스팅을 참고 하면 도움 될것이다.

 

이전 포스팅에서는 파이선에 대한 포스팅이 주를 이뤘는데 이번 포스팅에서는 자바에서의 정규 표현식을 정리 해보려고 한다.

 

자바에서 정규표현식을 사용하기 위해서는

java.util.regex 에 있는 클래스를 사용하게 되고 주로 Pattern / Matcher 를 사용하게 된다.

 

Pattern은 matches() 메서드를 지원한다.

주어진 패턴이 주어진 정규 표현식에 일치하는지 체크를 한다.

아래와 같이 사용이 된다.

String pattern = "^[0-9]*$"; // 숫자만
String str = "123123"; 

boolean result = Pattern.matches(pattern, str);
System.out.println(result); // true

매칭되는지 여부에 따라 True False 가 리턴이 된다.

 

그밖에 다양한 메서드가 있고 아래와 같다.

pattern(); 컴파일된 정규표현식 String 반환
compile(String regex); 주어진 정규표현식으로부터 패턴 생성
matcher(CharSequence input); 대상 문자열이 패턴과 일치할 경우 t f 반환
asPredicate(); 문자열 일치시키는데 사용할수 있는 Predicate 작성
split(CharSequence input); 문자열을 주어진 인자값 패턴에 따라 분리

 

Matcher

Pattern 이 문자열이 정규 표현식에 일치하는지 체크라면

Matcher는 문자열 패턴을 해석하고 패턴과 일치하는지 체크할때 사용이 된다.

비슷하기도 한데, 적절하게 사용을 하면 된다.

Pattern pattern = Pattern.compile("^[0-9]*$");
String str = "123123";

Matcher matcher = pattern.matcher(str);
System.out.println(matcher.find());

매칭되는지 여부에 따라 True False 가 리턴이 된다.

 

그밖에 다양한 메서드가 있고 아래와 같다.

matches(); 대상 문자열과 패턴이 일치 하는지
find() 대상문자열과 패턴이 일치하는지, 그리고 이동
find(int start) start인자로 받은 위치부터 매칭
start(); 매칭되는 문자열의 시작 위치 
start(int group); 매칭되는 그룹이 있는 시작 위치
end() 매칭되는 문자열의 끝 바로 다음 위치 
end(int group); 매칭되는 그룹이 있는 끝 바로 다음 위치
group() 매칭 된 부분 반환
group(int group); 매칭된 부분중 group 그루핑 매칭 부분
groupCount(); 패턴 내 그룹핑한 전체 갯수 반환

 

자세한 문법은 아래 참고 포스팅에서 참고 바란다.


참고 포스팅

https://thenicesj.tistory.com/334

 

정규 표현식 정리(Regex)

정규표현식은 사용을 할때마다 검색하는것 같아서 이참에 직접 정리를 해보려고 포스팅을 작성해본다. 정규표현식에서 사용되는 기호를 Meta 문자라고 하는데 표현식에서 내부적으로 특정 의미

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

Optional – orElse() 와 orElseGet()  (37) 2023.06.16
[eclipse] Ant 란?  (36) 2023.06.15
자바에서 Null 체크 관련(if)  (44) 2023.06.09
[Jackson] JsonNode, ObjectNode, ArrayNode  (35) 2023.06.06
kafka 실습 (springboot에서 활용)  (31) 2023.06.05

댓글