J'ai une liste de chaînes comme ceci:Comment améliorer cette regex?
/soccer/poland/ekstraklasa-2008-2009/results/
/soccer/poland/orange-ekstraklasa-2007-2008/results/
/soccer/poland/orange-ekstraklasa-youth-2010-2011/results/
De chaque chaîne que je veux prendre une partie centrale entraînant respectivement:
ekstraklasa
orange ekstraklasa
orange ekstraklasa youth
Mon code fait ici le travail, mais il se sent comme ça peut être fait en moins d'étapes et probablement avec regex seul.
name = re.search('/([-a-z\d]+)/results/', string).group(1) # take the middle part
name = re.search('[-a-z]+', name).group() # trim numbers
if name.endswith('-'):
name = name[:-1] # trim tailing `-` if needed
name = name.replace('-', ' ')
Quelqu'un peut-il voir comment le rendre meilleur?
Merci pour un essai. Cependant, je l'ai testé sur regex101.com et n'a trouvé aucun match du tout. –
@rojas Vous devez donc l'avoir copié incorrectement: https://regex101.com/r/mK0iO9/1 – davidrac