mercredi 13 avril 2016

JAVA regex first character not matching

I am having some Java Pattern problems. This is my pattern :

"^[\\p{L}\\p{Digit}.'-.'_]+$"

It matches any letter of the US-ASCII, numerals, some special characters, basically anything that wouldn't scramble an URL.

What I would like is to find the first letter in a word that does not match this pattern. Basically the user sends a text as an input and I have to validate it and to throw an exception if I find an illegal character.

I tried negating this pattern, but it wouldn't compile properly. Also find() didn't help out much.

A legal input would be hello while ?hello should not be, and my exception should point out that ? is not proper.

I would prefer a suggestion using Java's Matcher, Pattern or something using util.regex. Its not a necessity, but checking each character in the string individually is not a solution.

Aucun commentaire:

Enregistrer un commentaire