Regex para distância no sistema métrico
Pergunta
eu quero um RegEx
Para corresponder aos valores de distância no sistema métrico. Este regex deve corresponder 12m
, 100cm
,1km
ignorando o espaço em branco
Solução
E para estender a resposta de Paulo para incluir valores de lugar decimal ...
(\d+).?(\d*)\s*(m|cm|km)
Outras dicas
Experimente isso:
(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m
Como você não especificou exatamente o que você queria, usei seus exemplos para derivar que você deseja encontrar um valor inteiro, seguido de espaço em branco opcional, seguido por um especificador de unidade de CM, M ou KM. Então - este é o exemplo mais simples disso.
/(\d+)\s*(m|cm|km)/
Os primeiros parênteses capturam o número, depois pula o Chars de um espaço em branco antes de capturar as unidades necessárias no segundo conjunto de parênteses.
Como você pode ver em outras respostas, você pode ir além disso para obter valores decimais e também capturar um número maior de prefixos de unidade SI também.