2012-12-24 14 views

risposta

18

Ampliando la risposta di MiniTech:

  • ( avviare un gruppo di cattura
  • \d un shorthand character class, che corrisponde a tutti i numeri; è la stessa come [0-9]
  • + uno o più dell'espressione
  • ) fine un gruppo Capture
  • / letterale barra iniziale

Ecco un esempio:

>>> import re 
>>> exp = re.compile('(\d+)/(\d+)') 
>>> foo = re.match(exp,'1234/5678') 
>>> foo.groups() 
('1234', '5678') 

Se rimuovi le parentesi (), l'espressione continuerà a corrispondere, ma acquisirai solo un set:

>>> foo = re.match('\d+/(\d+)','1234/5678') 
>>> foo.groups() 
('5678',) 
10

Corrisponde a una o più cifre seguite da una barra seguita da una o più cifre.

Le due "una o più cifre" qui formano anche gruppi che possono essere estratti e utilizzati.