English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 정규 표현식을 사용하여 일련의 문자를 매칭하는 방법

특정 범위의 문자를 일치시키려면, 즉 시퀀스에서 두 가지 지정된 문자 사이의 모든 문자를 일치시키려면, 문자 클래스를 사용할 수 있습니다. 

[a-z]
  • 표현식 “ [a-zA-Z] ”은 어떤 영어 문자든 받아들입니다.

  • 표현식 “ [0-9 &&[^ 35] ”을 받아들입니다3와5이외의 숫자.

예제1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //사용자로부터 문자열을 읽기
      System.out.println("문자열을 입력하세요");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[a-zA-Z0-9]*$";
      //정규 표현식 컴파일
      Pattern pattern = Pattern.compile(regex);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      if(matcher.matches()) {
         System.out.println("일치 발생");
      } else {
         System.out.println("일치하지 않음");
      }
   }
}

출력1

문자열을 입력하세요
안녕하세요
일치 발생

출력2

문자열을 입력하세요
sample#
일치하지 않음

예제2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //사용자로부터 문자열을 읽기
      System.out.println("문자열을 입력하세요");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "[0-9&&[^35]]";
      //정규 표현식 컴파일
      Pattern pattern = Pattern.compile(regex);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("발생 횟수 :");+count);
   }
}

출력 결과

문자열을 입력하세요
111223333555689
발생 횟수 :8
추천해드립니다