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

Метасимвол re {n, m} в регулярных выражениях Java

Дополнительное выражение/метасимвол " re {n, m} по крайней мере n и не более m совпадений с предыдущим выражением.

Пример 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[]) {
      String regex = "xyy{2,4}";
      String input = "xxyyzxxyyyyxyyzxxyyzz";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Количество совпадений: " + count);
   }
}

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

Количество совпадений: 1

Пример 2

Данный Java-программа читает значение имени от пользователя и позволяет использовать от 1 до 20 символов.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[] ) {
      //Регулярное выражение для соответствия символов не менее 1 и до 20
      String regex = "[a-zA-Z]{1,20}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter students name:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("Name is appropriate");
      } else {
         System.out.println("Name is inappropriate");
      }
   }
}

Вывод 1

Enter students name:
Mouktika
Name is appropriate

Вывод 2

Enter students name:
ka 34
Name is inappropriate

Вывод 3

Enter students name:
Sri Veera Venkata Satya Sai Suresh Santosh Samrat
Name is inappropriate
Рекомендуется к просмотру