English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Дополнительное выражение/метасимвол " [^ ...] "Соответствует любому единичному символу, но не скобкам."
import java.util.regex.Matcher; import java.util.regex.Pattern; public class SpecifiedCharacters { public static void main(String args[]) { String regex = "[^hwtyoupi]"; String input = "Hi how are you welcome to w3codebox"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); int count = 0; while(m.find()) { count++; } System.out.println("Количество совпадений: " + count); } }
Результат вывода
Количество совпадений: 21
Следующий Java-программа принимает от пользователя 5 строк и выводит строки/слова, не содержащие латинских букв.
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 = "^.*[^a-zA-Z].*$"; 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); System.out.println("строки, которые не содержат английского алфавита: "); for(int i = 0; i < 5; i++) { // Создается объект Matcher Matcher m = p.matcher(input[i]); if(m.find()) { System.out.println(m.group()); } } } }
Результат вывода
Введите 5 строк ввода: 1234*5 &*% sample test data23 строки, которые не содержат английского алфавита: 1234*5 &*%