|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Pattern API содержит много полезных предопределенных классов символов, которые предлагают удобные сокращения для обычно используемых регулярных выражений:
| Создать | Описание |
|---|---|
. |
Любой символ (может или, возможно, не соответствует разделители строки), |
\d |
Цифра: [0-9] |
\D |
Нецифра: [^0-9] |
\s |
Пробельный символ: [ \t\n\x0B\f\r] |
\S |
Непробельный символ: [^\s] |
\w |
Символ слова: [a-zA-Z_0-9] |
\W |
Символ неслова: [^\w] |
В таблице выше, каждая конструкция в левом столбце является сокращением для символьного class в правом столбце. Например, \d означает диапазон цифр (0-9), и \w означает символ слова (любая строчная буква, любая прописная буква, символ подчеркивания, или любая цифра). Используйте предопределенные классы когда бы ни было возможно. Они делают Ваш код легче считать и устранить ошибки, представленные уродливыми классами символов.
Конструкции, начинающиеся с наклонной черты влево, вызывают, вышел из конструкций. Мы предварительно просматривали оставленные конструкции в разделе
private final String REGEX = "\\d"; // a single digit
В этом примере \d регулярное выражение; дополнительная наклонная черта влево требуется для кода скомпилировать. Тестовый ремень безопасности читает выражения непосредственно из Console, однако, таким образом, дополнительная наклонная черта влево является ненужной.
Следующие примеры демонстрируют использование предопределенных классов символов.
Enter your regex: . Enter input string to search: @ I found the text "@" starting at index 0 and ending at index 1. Enter your regex: . Enter input string to search: 1 I found the text "1" starting at index 0 and ending at index 1. Enter your regex: . Enter input string to search: a I found the text "a" starting at index 0 and ending at index 1. Enter your regex: \d Enter input string to search: 1 I found the text "1" starting at index 0 and ending at index 1. Enter your regex: \d Enter input string to search: a No match found. Enter your regex: \D Enter input string to search: 1 No match found. Enter your regex: \D Enter input string to search: a I found the text "a" starting at index 0 and ending at index 1. Enter your regex: \s Enter input string to search: I found the text " " starting at index 0 and ending at index 1. Enter your regex: \s Enter input string to search: a No match found. Enter your regex: \S Enter input string to search: No match found. Enter your regex: \S Enter input string to search: a I found the text "a" starting at index 0 and ending at index 1. Enter your regex: \w Enter input string to search: a I found the text "a" starting at index 0 and ending at index 1. Enter your regex: \w Enter input string to search: ! No match found. Enter your regex: \W Enter input string to search: a No match found. Enter your regex: \W Enter input string to search: ! I found the text "!" starting at index 0 and ending at index 1.
В первых трех примерах регулярное выражение просто . ("точечный" метасимвол), который указывает "на любой символ." Поэтому, соответствие успешно во всех трех случаях (в произвольном порядке выбранный @ символ, цифра, и буква). Остающиеся примеры каждое использование единственная конструкция регулярного выражения от Предопределенной таблицы Классов символов. Можно обратиться к этой таблице, чтобы выяснить логику позади каждого соответствия:
\d соответствия все цифры\s пробелы соответствий\w символы слова соответствийАльтернативно, прописная буква означает противоположность:
\D нецифры соответствий\S непробелы соответствий\W символы неслова соответствий