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

Метод compile() с примерами в Java

java.regexКласс模式的包 является компилированным представлением регулярного выражения.

Этот классcompile()Метод принимает строку, представляющую регулярное выражение, и возвращает объект Pattern.

Пример

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main(String args[]) {
      //Чтение строки
      Scanner sc = new Scanner(System.in);
      System.out.println("Введите строку ввода");
      String input = sc.nextLine();
      //Регулярное выражение для поиска чисел
      String regex = "(\\d)";
      //Компилирование регулярного выражения
      Pattern pattern = Pattern.compile(regex);
      //Вывод регулярного выражения
      System.out.println("Скомпилированное регулярное выражение: " + pattern.toString());
      //Искомый объект матчера
      Matcher matcher = pattern.matcher(input);
      //Проверка на совпадение
      if(matcher.find()) {
         System.out.println("Given String contains digits");
      } else {
         System.out.println("Given String does not contain digits");
      }
   }
}

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

Введите строку ввода
hello my id is 1120KKA
Скомпилированное регулярное выражение: (\d)
Given String contains digits

Другой вариант этого метода принимает целочисленные значения, представляющие флаги, где каждый флаг specifies an optional condition, например CASE_INSENSITIVE для ignoring case при компиляции регулярного выражения.

Пример

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main(String args[]) {
      //Компилирование регулярного выражения
      Pattern pattern = Pattern.compile("[t]", Pattern.CASE_INSENSITIVE);
      //Искомый объект матчера
      Matcher matcher = pattern.matcher("w3codebox");
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("Количество совпадений: " + count);
   }
}

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

Введите строку ввода
w3codebox
Количество совпадений: 3
Рекомендуется к просмотру