python regex equivalente a kwrite [] + e [0-9] +

0

Eu nunca fui bom em expressões regulares. Sempre que leio sobre eles, sinto uma dor de cabeça, levanto-me da mesa e esqueço o que estou fazendo. Dificuldades de atenção.

Mas quando eu finalmente comecei a usá-los em kwrite , fiquei muito mais confortável com eles. Na medida em que, eu não posso agora viver sem eles.

Agora, preciso traduzir meu conhecimento de kwrite para python.

O kwrite regex [ ]+ corresponde a um único espaço, dois espaços e um espaço de quatililhão.

Como faço para corresponder espaços como esse em uma expressão regular de python?

Além disso, o regex [0-9]+ de kwrite corresponde a 0, 10, 123 e 103984875749409202. Como faço para corresponder a uma expressão regular de python?

    
por ixtmixilix 28.01.2012 / 15:12

1 resposta

2

Você faz exatamente da mesma maneira.

Python 2.7.2 (default, Oct 29 2011, 18:24:10) 
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> p = re.compile('[ ]+')
>>> print p.search('abc   def')
<_sre.SRE_Match object at 0x7f22ded9b100>
>>> print p.search('abc   def').group()
                              /// I promise there are three spaces there :)
>>> p = re.compile('[0-9]+')
>>> print p.search('abc123def').group()
123
>>> p = re.compile('[0-9cd]+')
>>> print p.search('abc123def').group()
c123d

A sintaxe da classe de caracteres ( [abc] ) é muito comum e deve estar presente em praticamente todas as implementações de regex existentes.

    
por 28.01.2012 / 15:28