Je manque d'expérience avec regex et j'ai besoin d'aide. Je dois extraire un tag git. La chaîne d'entrée est comme ceci:Besoin d'aide pour améliorer une regex
6dde3d91f23bff5ab81e91838f19f306b33fe7a8refs/tags/3.4.2
// there is a new line at the end of the string
La partie de la chaîne que j'ai besoin 3.4.2
. Voici mon code:
var pattern = /.*([0-9]{1}\.{1}[0-9]{1}\.{1}[0-9]{1}).*/ig;
var match = pattern.exec(string);
// match[1] gets what I need
Il fonctionne, mais ce regex est ridiculement longue, il doit y avoir un moyen de le rendre plus court. Quelqu'un peut-il m'aider?
Merci
Pourriez-vous préciser le modèle que vous devez faire correspondre? Ou bien une simple séparation serait parfaite. – Christophe
Je pense toujours que '/ [0-9.] + $ /' Est le meilleur motif, car il prend également en compte '1.0' et' 1.0.100', par exemple. –
@RobW dans ce cas, il pourrait être /\d+(\.\d+)?(\.\d+)?$/ – Christophe