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

Как匹配 строки с учетом регистра Java regex?

Метод compile класса pattern принимает два параметра-

  • Строковое значение, представляющее регулярное выражение.

  • Целочисленный値, являющийся полем класса Pattern.

Поля CASE_INSENSITIVE класса Pattern соответствуют совпадению символов, независимо от регистра. Таким образом, если установить значение флага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 matcher = pattern.matcher(input);
      int count = 0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("Количество вхождений: " + 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("Введите строковое значение: ");
      String str = sc.next();
      Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE);
      Matcher matcher = pattern.matcher(str);
      if(matcher.matches()){
         System.out.println("Данная строка является типом boolean");
      } else {
         System.out.println("Данная строка не является типом boolean");
      }
   }
}

Результат вывода

Введите строковое значение:
TRUE
Данная строка является типом boolean
Рекомендуется к просмотру