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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top