English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Символы-метки «.» в регулярных выражениях Java соответствуют любому символу (одному), он может быть буквенным, цифровым или любым специальным символом.
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 = "."; //Компилировать регулярное выражение Pattern pattern = Pattern.compile(regex); //Искать объекты маркера Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("Данная строка содержит " + count + " символов."); } }
Результат вывода
Введите строку hello how are you welcome to w3codebox Данная строка содержит 42 символа.
Вы можете использовать следующую регулярное выражение для соответствия любым 3 символам между 'a' и 'b'-
a…b
Аналогично, выражение «.*» соответствует n символам.
Следующий Java-программа читает от пользователя 5 строк и принимает строки, начинающиеся на 'b' и заканчивающиеся на 'a', с любым количеством символов между ними.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = "^b.*a$"; Scanner sc = new Scanner(System.in); System.out.println("Введите 5 строк ввода:"); String input[] = new String[5]; for(int i = 0; i < 5; i++) { input[i] = sc.nextLine(); } // Создается объект Pattern Pattern p = Pattern.compile(regex); for(int i = 0; i < 5; i++) { // Создается объект Matcher Matcher m = p.matcher(input[i]); if(m.find()) { System.out.println(input[i] +": принят"); } System.out.println(input[i] +": не принят"); } } } }
Результат вывода
Введите 5 строк ввода: barbara boolean baroda ram raju barbara: принят boolean: не принят baroda: принят ram: не принят raju: не принят