Povedzme, že chcem vytvoriť RE, ktoré opisuje všetky celé čísla.
(+|-)?[0-9]+
Definícia však tiež zodpovedá týmto číslam: +0, -0, 0045
Na 0045
príležitosť možno pravdepodobne vyriešiť pomocou výrazu lookback, ale ako môžem ospravedlniť vylúčenie +0
a -0
reťazcov z RE. Myslel som, že to bola syntax ^(+0|-0
), ale to je pravdepodobne syntax RE pre inú štruktúru, nie Pythons.
odpovede:
3 pre odpoveď č. 1Potom sa môže nulový prípad riešiť samostatne. Regulárny výraz pre nulové alebo nenulové čísla:
0|[+-]?[1-9][0-9]*
Predpoklady boli:
- žiadne nadbytočné položky nula.
- žiadne znamienko pred nulou
- nadbytočné znamienko plus pred nenulovými číslami.
Mimo skupiny znakov (s hranatými zátvorkami) symbol ^
znamená začiatok reťazca alebo riadku v závislosti od nastavenia príznaku re.MULTILINE
.