REGEX pour la distance dans le système métrique
Question
Je veux un RegEx
pour correspondre aux valeurs de distance dans le système métrique. Cette regex doit correspondre 12m
, 100cm
, 1km
ignorant l'espace blanc
La solution
Et pour prolonger la réponse de Paul d'inclure des valeurs décimales ... place
(\d+).?(\d*)\s*(m|cm|km)
Autres conseils
Essayez ceci:
(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m
Comme vous ne spécifiez pas exactement ce que vous vouliez, je vos exemples pour obtenir que vous voulez trouver une valeur entière, suivie par des espaces en option, suivi d'un spécificateur unitaire de cm, m ou km. Donc - c'est l'exemple le plus simple de cette
./(\d+)\s*(m|cm|km)/
Les premières entre parenthèses capture le numéro, puis il passe 0-plusieurs caractères blancs avant de capturer vos unités requises dans le deuxième ensemble de parenthèses.
Comme vous pouvez le voir dans d'autres réponses, vous pouvez aller plus loin pour ramasser des valeurs décimales et capturer un plus grand nombre d'unités préfixes SI aussi.