Pregunta

Quiero un RegEx para que coincida con los valores de distancia en el sistema métrico. Esta expresión regular debe coincidir con 12m, 100cm, 1km ignorando espacios en blanco

¿Fue útil?

Solución

Y para extender la respuesta de Pablo a incluir valores decimal ...

(\d+).?(\d*)\s*(m|cm|km)

Otros consejos

Prueba esto:

(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m

Como no se ha especificado exactamente lo que quería, he utilizado sus ejemplos para derivar que desea encontrar un valor entero, seguido de espacio en blanco opcional, seguido de una unidad de especificador cm, mo km. Por lo tanto - este es el ejemplo más simple de que

.
/(\d+)\s*(m|cm|km)/

Los primeros paréntesis, captura el número, entonces se salta 0-muchos caracteres de espacio en blanco antes de capturar sus unidades requeridas en el segundo conjunto de paréntesis.

Como se puede ver en otras respuestas, se puede ir más allá de este para recoger valores decimales, y también captar un mayor número de unidad SI prefijos también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top