Я хотел бы использовать регулярное выражение, подобное этому в Java: [[=a=][=e=][=i=]].
[[=a=][=e=][=i=]]
Но Java не поддерживает классы POSIX [=a=], [=e=] etc.
[=a=], [=e=] etc
Как я могу это сделать? Точнее, есть ли способ не использовать US-ASCII?
Java поддерживает классы символов posix .Синтаксис просто другой, например:
\p{Lower} \p{Upper} \p{ASCII} \p{Alpha} \p{Digit} \p{Alnum} \p{Punct} \p{Graph} \p{Print} \p{Blank} \p{Cntrl} \p{XDigit} \p{Space}
Цитирование из http://download.oracle.com/javase/1.6.0/docs/api/java/util/regex/Pattern.html
Классы символов POSIX (только US-ASCII)
\p{Lower} A lower-case alphabetic character: [a-z] \p{Upper} An upper-case alphabetic character:[A-Z] \p{ASCII} All ASCII:[\x00-\x7F] \p{Alpha} An alphabetic character:[\p{Lower}\p{Upper}] \p{Digit} A decimal digit: [0-9] \p{Alnum} An alphanumeric character:[\p{Alpha}\p{Digit}] \p{Punct} Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ \p{Graph} A visible character: [\p{Alnum}\p{Punct}] \p{Print} A printable character: [\p{Graph}\x20] \p{Blank} A space or a tab: [ \t] \p{Cntrl} A control character: [\x00-\x1F\x7F] \p{XDigit} A hexadecimal digit: [0-9a-fA-F] \p{Space} A whitespace character: [ \t\n\x0B\f\r]
Скопировано из здесь
Java не поддерживает скобочные выражения POSIX, но поддерживает классы символов POSIX с использованием оператора \ p.Хотя синтаксис \ p заимствован из синтаксиса для свойств Unicode, классы POSIX в Java соответствуют только символам ASCII, как указано ниже.Имена классов чувствительны к регистру.В отличие от синтаксиса POSIX, который может использоваться только внутри выражения в скобках, Java \ p может использоваться внутри и вне выражений в скобках.