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

Java RegEx를 사용하여 어떤 문자를 어떻게 매칭하나요?

Java 정규 표현식에서 "."는 어떤 문자(단일)를 일치시킵니다. 그것은 문자, 숫자 또는 어떤 특수 문자일 수 있습니다.

예제1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //사용자로부터 문자열을 읽어들입니다
      문자열을 입력하세요
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //정규 표현식은 어떤 문자도 일치시킵니다.
      String regex = ".";
      //정규 표현식 컴파일
      Pattern pattern = Pattern.compile(regex);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         계산 ++;
      }
      주어진 문자열이 포함하고 있습니다.+계산+" characters.");
   }
}

출력 결과

문자열을 입력하세요
hello how are you welcome to w3codebox
주어진 문자열이 포함하고 있습니다. 42 characters.

다음 정규 표현식을 사용하여 a와 b 사이의 어떤 문자열도 일치시킬 수 있습니다.3한 문자-

a…b

유사하게, 표현식*”와 n개의 문자와 일치합니다.

예제2

다음 Java 프로그램은 사용자로부터 입력을 받습니다.5특정 문자열을 생성하여 b로 시작하고 a로 끝나며 중간에 어떤 문자든 포함할 수 있는 문자열을 받습니다.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "^b.*a$";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter 5 입력 문자열: ");
      String input[] = new String[5];
      for (int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Pattern 객체 생성
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Matcher 객체 생성
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+: 승인");
         } else {
            System.out.println(input[i]+: 아님");
         }
      }
   }
}

출력 결과

입력 5 입력 문자열:
barbara
boolean
baroda
ram
raju
barbara: 승인
boolean: 아님
baroda: 승인
ram: 아님
raju: 아님
추천해드립니다