Je l'expression rationnelle suivante:Python - regex sans correspondance
regex = compile("((?P<lastyear>[\dBFUPR]+)/)*((?P<lastseason>[\dBFUPR]+))*(^|-(?P<thisseason>[\dBFUPR]*))")
que j'utilise pour traiter horce racing form strings. Parfois, la forme d'un cheval ressemblera à ceci "1234", ce qui signifie qu'il n'a pas encore couru cette saison (il n'y a pas de chiffres à droite du "-").
Actuellement, mon expression régulière correspond "" à la fin d'une telle chaîne de formulaire dans le groupe thisseason
. Je ne veux pas de ce comportement. Je veux que le groupe soit None
dans un tel cas. à savoir
match = regex.match("1234-")
print match.group("thisseason") #None
Exemples
string = "1234/123-12"
match.group("lastyear") #1234
match.group("lastseason") #123
match.group("thisseason") #12
string = "00999F"
match.group("lastyear") #None
match.group("lastseason") #None
match.group("thisseason") #00999F
string = "12-3456"
match.group("lastyear") #None
match.group("lastseason") #12
match.group("thisseason") #3456
Le ci-dessus ne correspond pas à quoi que ce soit pour "7463-", ce qui est inexact. – Peter
@Peter: voir ma modification maintenant. – SilentGhost