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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top