Продолжаем с поста на
Регулярное выражение, разрешающее набор символов и запрещающее другие
Кто-нибудь знает, почему может произойти следующее?
Я получаю приведенную ниже ошибку при создании регулярного выражения в виде:
[^@*–’”“\r\nœçsÇSgGšcrŠRNEŽDTCnežuUIti—¿„”]+
и введите любой из этих запрещенных символов в поле ввода
java.lang.ArrayIndexOutOfBoundsException
at org.apache.regexp.RECompiler$RERange.delete(RECompiler.java:1326)
at org.apache.regexp.RECompiler$RERange.remove(RECompiler.java:1417)
at org.apache.regexp.RECompiler$RERange.include(RECompiler.java:1459)
at org.apache.regexp.RECompiler$RERange.include(RECompiler.java:1470)
at org.apache.regexp.RECompiler.characterClass(RECompiler.java:699)
at org.apache.regexp.RECompiler.terminal(RECompiler.java:863)
at org.apache.regexp.RECompiler.closure(RECompiler.java:942)
at org.apache.regexp.RECompiler.branch(RECompiler.java:1151)
at org.apache.regexp.RECompiler.expr(RECompiler.java:1203)
at org.apache.regexp.RECompiler.compile(RECompiler.java:1281)
at org.apache.regexp.RE.(RE.java:495)
at org.apache.regexp.RE.(RE.java:480)
но это выражение отлично работает
[^@*–’”“\r\nœçsÇSgGšcrŠRN]+
Кроме того,
[^@*–’”“\r\nœçsÇSgGšcrŠR„”]+
работает, но
[^@*–’”“\r\nœçsÇSgGšcrŠRNE]+
не работает и выдает вышеуказанную ошибку.
Существует ли ограничение на количество символов, которое можно запретить, как описано выше?
С уважением,
Удит Суд