J'essaie d'écrire une expression regex dans un script Java pour la chaîne "$ val" ou "$ val1", où digit peut être facultatif mais $ val doit correspondre
Expression regex actuelle est var rexp = / $ vald + / gi;
Cela ne fonctionne que pour $ val1 ou $ val2 mais pas pour $ val.
Réponses:
0 pour la réponse № 1Bien votre regex
juste besoin d'un peu de modification.
var regex = /($val)|($vald+)/g;
var value = "$val";
value.match(regex);
Ok, allons droit au but. Nous vérifions deux conditions en utilisant un opérateur de tuyau (OR), une sans chiffres ($val)
et le second avec chiffre ($vald+)
et le reste de la regex est tout même.
METTRE À JOUR:
Et selon regerx suggéré par @csander avec quelques modifications, vous pouvez l’utiliser pour renvoyer une correspondance regex avec des chiffres.
var regex = /$val(d?)+/;
1 pour la réponse № 2
Débarasse-toi du +
. Cela signifie un ou plusieurs chiffres. Au lieu de cela, vous voulez /$vald?/g
.