정규식은 문자열 처리에 매우 효율적입니다.
정규식 사용에 관해서는 내 경험에 관한 것입니다. 관심이 있으시면 관련 서적을 참조하십시오.
여기에서는 주로 Java의 일반적인 작업 방법에 대해 씁니다.
예시 1: 일치 클래스 데모 {
공개 정적 무효 메인(String[] args) {
Scanner sc = new Scanner(System.in);
//입력받기
System.out.print("입력하세요:");
문자열 str = sc.nextLine();
확인(str);
}
개인 정적 무효 검사(문자열 str) {
//첫번째 일치하는 숫자는 1~9, 두 번째 이후의 숫자는 0~9(숫자는 4~10)
문자열 정규식 = "[1-9][0-9]{4,10}";
/*
//대문자 또는 소문자인 단일 문자와 일치합니다. az
문자열 정규식 = "[a-zA-Z]";
//숫자 일치, 이스케이프 문자에 주의
문자열 정규식 = "//d";
//숫자가 아닌 숫자와 일치
문자열 정규식 = "//D";
*/
if(str.matches(regex)) {
System.out.println("매칭 성공");
} 또 다른 {
System.out.println("매칭 실패");
}
}
}
예 2: 절단
클래스 데모 {
공개 정적 무효 메인(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("입력하세요:");
문자열 str = sc.nextLine();
분할(str);
}
개인 정적 무효 분할(문자열 str) {
//하나 이상의 공백과 일치
문자열 정규식 = " +";
String[] arr = str.split(regex);
for (문자열 s : arr) {
System.out.println(s);
}
}
}
예 3: 교체
클래스 데모 {
공개 정적 무효 메인(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("입력하세요:");
문자열 str = sc.nextLine();
교체(str);
}
개인 정적 무효 대체(문자열 str) {
//반복되는 단어 매칭
문자열 정규식 = "(.)//1+";
String s = str.replaceAll(regex, "*");
System.out.println(s);
}
}