continue avec le poste à Regular expression to allow a set of characters and disallow othersRegex donne erreur
Quelqu'un sait-il pourquoi l'aurait-dessous lieu?
Je reçois l'erreur ci-dessous lorsque je crée une expression régulière:
[^@*–’”“\r\nœçsÇSgGšcrŠRNEŽDTCnežuUIti—¿„”]+
et entrer dans l'un de ces caractères restreints dans le champ de saisie
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)
mais cette expression fonctionne parfaitement bien
[^@*–’”“\r\nœçsÇSgGšcrŠRN]+
En outre,
[^@*–’”“\r\nœçsÇSgGšcrŠR„”]+
œuvres mais
[^@*–’”“\r\nœçsÇSgGšcrŠRNE]+
ne fonctionne pas et donne l'erreur ci-dessus.
Y at-il une limite au nombre de caractères qui peuvent être interdits comme ci-dessus?
Cordialement, Udit Sud
Cela me semble être un problème d'encodage, mais Java n'est pas mon truc – Greg
Si cela vous fait vous sentir mieux, cela fonctionne avec le moteur .NET Regex. Je suppose que c'est un bug dans cette implémentation de Java Regex. –
@Udit - que se passe-t-il lorsque vous omettez le "E"? –