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

Java regex에서 대소문자를 불문하고 문자열을 일치시키는 방법

Pattern 클래스의 compile 메서드는 두 개의 매개변수를 받습니다-

  • 정규 표현식을 나타내는 문자열 값입니다.

  • Pattern 클래스의 필드로서의 정수 값입니다.

Pattern 클래스의 CASE_INSENSITIVE 필드는 대소문자无关로 문자 매칭을 합니다. 따라서, 만약 레이블 값을compile()메서드에 정규 표현식과 함께 전달된 경우 두 가지 상황의 문자 모두가 일치합니다.

예제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);
      System.out.println("Enter input data: ");
      String input = sc.nextLine();
      //정규 표현식을 통해 필요한 문자를 찾습니다
      String regex = "test";
      //정규 표현식 컴파일
      Pattern pattern = Pattern.compile(regex);//, Pattern.CASE_INSENSITIVE);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("Number of occurrences:");+count);
   }
}

출력 결과

입력 데이터를 입력하세요:
test TEST Test 샘플 데이터
발생 횟수: 3

예제2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class VerifyBoolean {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a string value:");
      String str = sc.next();
      Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE);
      Matcher matcher = pattern.matcher(str);
      if(matcher.matches()){
         System.out.println("Given string is a boolean type");
      } else {
         System.out.println("Given string is not a boolean type");
      }
   }
}

출력 결과

문자열 값을 입력하세요:
TRUE
주어진 문자열은 boolean형입니다
너희가 좋아할 만한 것