Número de regex entre 1 e 100

Eu procurei muito e não consigo encontrar a solução para este RegExp (eu tenho que dizer que não sou muito experiente em Expressões Reg.).

Regex = ^[1-9]?[0-9]{1}$|^100$ 

Eu gostaria de testar um número entre 1 e 100, excluindo 0

Experimentar:

 ^[1-9][0-9]?$|^100$ 

Violino de trabalho

EDIT: se você quiser combinar 00001, 00000099 tente

 ^0*(?:[1-9][0-9]?|100)$ 

FIDDLE

Experimente, isso funcionará de forma mais eficiente. 1. Para números que variam de 00 a 99,99 (inclusive decimal)

 ^([0-9]{1,2}){1}(\.[0-9]{1,2})?$ 

Link de violino de trabalho

https://regex101.com/r/d1Kdw5/1/

2.Para um número que varia de 1 a 100 (inclusive) sem 0 anterior.

 (?:\b|-)([1-9]{1,2}[0]?|100)\b 

Link do violino de trabalho

http://regex101.com/r/mN1iT5/6

Se assumirmos que ele realmente precisa de regexp – o que é perfeitamente razoável em muitos contextos – o problema é que a variedade regexp específica precisa ser especificada. Por exemplo:

 egrep '^(100|[1-9]|[1-9][0-9])$' grep -E '^(100|[1-9]|[1-9][0-9])$' 

funciona bem se a syntax alternativa (… | …) estiver disponível. Em outros contextos, eles seriam backslashed como \ (… \ | … \)

Existem muitas opções de como escrever um padrão de regex para

  • ^(?:(?!0)\d{1,2}|100)$
  • ^(?:[1-9]\d?|100)$
  • ^(?!0)(?=100$|..$|.$)\d+$

Para números inteiros de 1 a 100 sem 0 anterior, tente:

 ^[1-9]$|^[1-9][0-9]$|^(100)$ 

Para números inteiros de 0 a 100 sem nenhum precedente, tente:

 ^[0-9]$|^[1-9][0-9]$|^(100)$ 

Saudações

Esta parece ser uma solução melhor para usar if declaração:

 num = 55 if num <= 100 and num >= 1: print("OK") else: print("NOPE") 

entre 0 e 100

 /^(\d{1,2}|100])$/ 

ou entre 1 e 100

 /^(\[1-9]|100])$/ 

Esta é uma lógica muito simples, então não há necessidade de regx.

Em vez disso, use o operador ternário

 var num = 89; var isValid = (num <= 100 && num > 0 ) ? true : false; 

Isso fará a mágica para você !!