Чтобы создать регулярное выражение, которое допускает только буквенно-цифровые символы, мы можем использовать шаблон регулярного выражения ^[a-zA-Z0-9]+$. Этот шаблон гарантирует, что строка будет состоять только из заглавных букв, строчных букв и цифр.
Буквенно-цифровые символы — это все буквы алфавита и цифры, т. е. буквы A–Z, a–z и цифры 0–9.
1. Алфавитно-цифровой шаблон регулярного выражения
С буквенно-цифровым регулярным выражением в нашем распоряжении решение предельно простое. Класс символов может задать допустимый диапазон символов. С добавленным квантификатором, который повторяет класс символов один или несколько раз, и якорями, которые привязывают совпадение к началу и концу строки, мы готовы к работе.
Регулярное выражение: ^[a-zA-Z0-9]+$ // Соответствует буквенно-цифровым латинским символам
Регулярное выражение: ^\\p{Alnum}+$ // Соответствует буквенно-цифровым символам в любой локали
- ^: Утверждает позицию в начале строки.
- [a-zA-Z0-9]: Соответствует любому буквенно-цифровому символу(т. е. строчным буквам от a до z, заглавным буквам от A до Z и цифрам от 0 до 9).
- +: Соответствует одному или нескольким предыдущим токенам(т. е. одному или нескольким буквенно-цифровым символам).
- $: Утверждает позицию в конце строки.
Используйте регулярное выражение «\\p{Alnum}+» для сопоставления любых буквенно-цифровых символов(букв и цифр), распознаваемых в любой локали Java.
2. Пример буквенно-цифрового регулярного выражения
List<String> names = new ArrayList<String>();names.add("Lokesh");names.add("LOkesh123");names.add("LOkesh123-"); //IncorrectString regex = "^[a-zA-Z0-9]+$";Pattern pattern = Pattern.compile(regex);for(String name : names) {Matcher matcher = pattern.matcher(name);System.out.println(matcher.matches());}
Вывод программы.
truetruefalse
Это очень просто, когда знаешь основы. Не правда ли?