Exercício de RegEx #3: Encontre os números
Escreva cinco expressões regulares:
- Uma chamada
integersque corresponda a todos os números inteiros, positivos ou negativos. - Uma chamada
floatsque corresponda a todos os números decimais, positivos ou negativos. - Uma chamada
positiveque corresponda a todos os números positivos, inteiros ou decimais. - Uma chamada
negativeque corresponda a todos os números negativos, inteiros ou decimais. - Uma chamada
numbersque corresponda a todos os números, inteiros ou decimais, positivos ou negativos.
Detalhes a serem considerados:
- As frações de 1 podem ou não ser precedidas por um 0.
0.5,.5e-.5são números válidos. - Os números decimais terão pelo menos um dígito decimal. Tanto
4.quanto-3.não são números válidos. - Os números positivos podem ou não ser precedidos por um
+. Tanto3quanto+3são números válidos. - Números precedidos por mais de um símbolo ou que tenham mais de um ponto decimal não são considerados válidos.
++1,-+4e3.3.6não são números válidos. - Todos os números, válidos ou não, serão precedidos e seguidos por um espaço em branco.
Exemplo
txt = " 123.456 2 +7 -88 -.25 9.10.11 -4. +-34 -0.6 --5 "
integers = "yourregularexpressionhere"
floats = "yourregularexpressionhere"
positive = "yourregularexpressionhere"
negative = "yourregularexpressionhere"
numbers = "yourregularexpressionhere"
re.findall(integers, txt) ➞ ["2", "+7", "-88"]
re.findall(floats, txt) ➞ ["123.456", "-.25", "-0.6"]
re.findall(positive, txt) ➞ ["123.456", "2", "+7"]
re.findall(negative, txt) ➞ ["-88", "-.25", "-0.6"]
re.findall(numbers, txt) ➞ ["123.456", "2", "+7", "-88", "-.25", "-0.6"]Observações
- Você não precisa escrever uma função, apenas o padrão.
- Não remova
import redo código. - Se ficar travado, confira os Comentários para obter algumas dicas úteis.
- Encontre mais informações sobre RegEx em Recursos.
- Você pode encontrar todos os desafios desta série na minha coleção Basic RegEx.