2011-08-01 2 views
1

J'ai une liste de valeurs valides spécifiques: XX, SX, FC, SC, saut.Regex pour analyser l'aide séparées par des virgules Liste

Fondamentalement, j'ai besoin de regarder la liste de valeurs fournies par l'utilisateur et si l'une des valeurs ne correspond pas à la liste ci-dessus, je vais jeter une erreur. Puis-je utiliser une expression régulière pour accomplir cela?

+3

Vous allez vouloir utiliser la fonction « diviser » quelle que soit la langue que vous utilisez. Et quelle est cette langue, d'ailleurs? – Triptych

+0

En effet, l'utilisation de split et de sets est une meilleure solution, car cela vous permet de signaler quelles valeurs ne sont pas autorisées. Avec une regex, vous pouvez seulement générer un message d'erreur très inutile. – pyroscope

Répondre

1

Cela correspondra à une liste séparée par des virgules 5 séquences de caractères alphanumériques.

[A-Za-z0-9](,[A-Za-z0-9]){4} 

Cependant, et en fonction de la langue que vous utilisez, je normalement diviser la chaîne, puis vérifier la longueur du tableau résultant. Par exemple, dans Java:

String csvList = "XX,SX,FC,SC,Jump"; 
String[] elements = csvList.split(","); 
if (elements.length != 5) { 
    throw new Exception(); 
} 
Questions connexes