반응형
안녕하세요
최근 정규표현식에 대해서 알아보는 도중에 정규표현식의 메타문자 중에서 ?: 기능이 무엇인지 설명되어있는게 따로 없어서 한 번 찾아봤습니다
?: 역할에 대해서 포스팅해보겠습니다
?:은 정규표현식에서 (~~~~)의 경우 그룹으로 캡쳐가 됩니다
하지만 (?:~~~~)을 붙이는 경우 캡처를 하지 않고 넘어가게됩니다
예를 통해서 확인하는게 더 이해하기가 빠르실 겁니다
import java.util.regex.Pattern;
public class REExam4 {
public static void main(String[] args) {
String telephone = "010-1111-1111";
// 패턴 검사
boolean telephone_pt = Pattern.matches("^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$", telephone);
// 출력
System.out.println("전화번호 체크 : " + telephone_pt);
}
}
위와 같이 전화번호에 ?:을 붙이게 되면 검사는 하지만 캡쳐는 하지 않게 됩니다
결과는 "010-1111-1111" 이렇게 나올 수 있게 되는 것입니다
?:를 쓰지 않았다면
{"0", "0", "-", "1111", "-1111"} 이렇게 그룹으로 나뉘게 됩니다
여기까지 정규표현식의 ?: 의 역할에 대해서 알아봤습니다
반응형
그리드형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 콜백?? 리스너?? (2) | 2021.06.19 |
---|---|
[JAVA] 이클립스 테마 적용하기(DevStyle) (0) | 2021.06.19 |
[JAVA] 정규표현식(Regular Expression) 사용법 & 예제 (0) | 2021.05.28 |
[JAVA] 숫자타입의 최소범위, 최대범위를 구하는 법(MAX_VALUE, MIN_VALUE) (0) | 2021.05.28 |
[JAVA] 제곱근(루트) 구하기 Math.sqrt() 개념 및 사용법 정리 (0) | 2021.05.27 |