2010-11-11 4 views
0

besoin d'écrire une méthode rapide static boolean varTest(String id) que les tests de l'entrée est en effet une variable en fonction des règles suivantes:variables Les essais effectués par des règles données

variables :: = un signe de dollar ($) suivi d'un entier, ou tout identifiant commençant par une lettre suivie d'un mélange de lettres ou de chiffres.

Où par exemple x $ ou $ x peuvent être var sans ce test.

Donc, si pas vrai, je veux jeter ArithmeticException

Répondre

3

Vous êtes à la recherche d'une expression régulière: $(\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^.

Par exemple:

static Pattern p = Pattern.compile("$(\\$[0-9]+)|([a-zA-Z][a-zA-Z0-9]*)^"); 
static boolean varTest(String id) { 
    return p.matcher(id).matches(); 
} 
+0

.matches retourne vrai/faux, je suppose? –

+0

@John: Oui; il renvoie un 'booléen'. – SLaks

Questions connexes