Не следует путать термин POSIX "класс символов" с тем, что обычно называется "класс символов регулярного выражения". [X-z0-9] пример того, что мы называем "класс символов" а POSIX называет "выражение в квадратных скобках". [:digit:] это класс POSIX символов, он может использоваться внутри выражений в квадратных скобках, например так [xz[:digit:]] . Эти два регулярных выражения эквивалентны: один символ из X , Y , Z, x, y, z или цифры. Имена классов должны быть написаны в нижнем регистре...
Более детально можно почитать тут http://www.regular-expressions.info/posixbrackets.html
POSIX | Описание | ASCII | Unicode | Сокрещение (например в Perl и т.п.) | Java |
---|---|---|---|---|---|
[:alnum:] | Алфавитно-цифровые символы | [a-zA-Z0-9] | [\p{L&}\p{Nd}] | \p{Alnum} | |
[:alpha:] | Буквы | [a-zA-Z] | \p{L&} | \p{Alpha} | |
[:ascii:] | ASCII символы | [\x00-\x7F] | \p{InBasicLatin} | \p{ASCII} | |
[:blank:] | Пробелы и табуляции | [ \t] | [\p{Zs}\t] | \p{Blank} | |
[:cntrl:] | Управляющие символы | [\x00-\x1F\x7F] | \p{Cc} | \p{Cntrl} | |
[:digit:] | DigitsЦифры | [0-9] | \p{Nd} | \d | \p{Digit} |
[:graph:] | Видимые символы (т.е. всё исключая пробелы, управляющие символы и т.д.) | [\x21-\x7E] | [^\p{Z}\p{C}] | \p{Graph} | |
[:lower:] | Строчные буквы | [a-z] | \p{Ll} | \p{Lower} | |
[:print:] | Видимые символы и пробелы (т.е. всё исключая управляющие символы и т.д.) | [\x20-\x7E] | \P{C} | \p{Print} | |
[:punct:] | Знаки пунктуации и символы | [!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~] | [\p{P}\p{S}] | \p{Punct} | |
[:space:] | Все пробельные символы, включая "конец строки" | [ \t\r\n\v\f] | [\p{Z}\t\r\n\v\f] | \s | \p{Space} |
[:upper:] | Заглавные буквы | [A-Z] | \p{Lu} | \p{Upper} | |
[:word:] | Символы слова (буквы, цифры и подчёркивание) | [A-Za-z0-9_] | [\p{L}\p{N}\p{Pc}] | \w | |
[:xdigit:] | Шестнадцатеричные цифры | [A-Fa-f0-9] | [A-Fa-f0-9] | \p{XDigit} |
Немає коментарів:
Дописати коментар