English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Чтобы соответствовать определенному диапазону символов, то есть чтобы соответствовать всем символам между двумя指定енными символами в последовательности, можно использовать класс символов как
[a-z]
Выражение " [a-zA-Z] "Принимает любые английские буквы."
Выражение " [0-9 && [^ 35]] "Принимает числа, кроме 3 и 5."
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 = "^[a-zA-Z0-9]*$"; //Компилирование регулярного выражения Pattern pattern = Pattern.compile(regex); //Поиск объекта матчера Matcher matcher = pattern.matcher(input); if(matcher.matches()) { System.out.println("Соответствие найдено"); } else { System.out.println("Соответствие не найдено"); } } }
Введите строку Привет Соответствие найдено
Введите строку sample# Соответствие не найдено
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 = "[0-9&&[^35]]"; //Компилирование регулярного выражения Pattern pattern = Pattern.compile(regex); //Поиск объекта матчера Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("Встречается: " + count); } }
Результат вывода
Введите строку 111223333555689 Встречается: 8