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

Как в Java использовать регулярные выражения для соответствия метасимволов как текстовых символов?

Метод компиляции класса шаблона принимает два параметра-

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

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

поля LITERAL включает текстовый анализ模式的. То есть, все символы регуляроксов и последовательностиEscape имеют kein особое значение, они рассматриваются как текстовые символы. Поэтому, если нужно чтобы символы регуляроксов соответствовали регулярным символам, их нужно передавать как флаг значение.compile()передается методу вместе с регулярным выражением.

Пример

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 = "^\d";
      // Создание объекта Pattern
      Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
      // Создание объекта Matcher
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Количество совпадений: " + count);
   }
}

Вывод 1

Введите данные ввода:
9848022338
Количество совпадений: 0

Вывод 2

Введите данные ввода:
^\d
^\d
Количество совпадений: 1
Вам может понравиться