2014-04-22 3 views
0

Je travaille sur un test Junit qui est supposé tester le nombre d'occurrences de mots qui NE contiennent PAS les voyelles (aeiou).Regex Junit Test

String matchString = "^[.[^aeioAEIO]]*$"; 

Est-ce correct? Je vous remercie.

+0

Non, ce n'est vraiment pas la bonne expression rationnelle, pour de nombreuses raisons. Mais pourquoi avez-vous besoin d'une expression rationnelle dans votre test JUnit? Un test JUnit devrait fournir une entrée précise à l'unité testée et affirmer que la sortie a bien eu lieu. Je ne peux pas voir l'application d'une expression rationnelle. –

+0

Im learning Regex et je suis en train de tester avec un fichier .txt et je cherche le nombre d'occurrences de chaînes sans voyelles. Pouvez-vous expliquer comment je peux y arriver? – user655321

Répondre

2

Le regex pour correspondre à tous les mots qui ne contiennent pas vos voyelles est:

String matchString = "\\b[^\\saeioAEIO]+\\b"; 
1

J'utiliser

\b[b-df-hj-np-tv-zB-DF-HJ-NP-TV-Z]+\b 

Cela correspond à aucun mot qui ne se compose que des consonnes ASCII. N'oubliez pas de doubler les barres obliques inverses si vous utilisez ceci comme un littéral String.

+0

+1. C'est probablement plus sûr que ma réponse, mais tout dépend des exigences d'exect. – Szymon