question sur le matches (et les expressions régulières)
Bonjour.
je suis en train de simplifier mon code et j'aimerais être sur d'avoir bien compris le matches.
Actuellement j'ai un if qui ressemble à ça (j'ai simplifié, il y a plus de valeur dans mon code...) :
Code:
1 2 3 4
|
if (!"1".equals (valeur) && !"1A".equals (valeur) && !"1B".equals (valeur) ){
//action
} |
Puis-je l'écrire plutôt comme ça :
Code:
1 2 3
| if(!valeur.matches("1|1A|1B") {
//action
} |
De ce que je comprend c'est complétement équivalent, ou je me trompe ?
edit
en fait j'ai un doute à cause du début et de la fin.
Si valeur contient 14 par exemple mon test avec equals va renvoyer faux.
Mais le test avec matches ? va t'il renvoyer vrai ?
dois je plutôt l'écrire comme cela ?
Code:
1 2 3
| if(!valeur.matches("^1$|^1A$|^1B$") {
//action
} |