diff options
Diffstat (limited to 'utils.py')
-rw-r--r-- | utils.py | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -48,19 +48,19 @@ def group_courses(courses): def parse_group(name): # Explication de la regex # - # ^([\w\- ]+?)\s+((CM(\w))|(TD(\w)(\d))|(TP(\w)(\d)(\d)))?(\s+\(.+\))?$ - # ^ début de la ligne - # ([\w\- ]+?) correspond à au moins un caractère - # \s+ un ou plusieurs espaces - # ((CM(\w))| correspond à CM suivi d'une lettre ou… - # (TD(\w)(\d))| … à TD suivi d’une lettre et d'un chiffre ou… - # (TP(\w)(\d)(\d)) … à TP suivi d’une lettre et de deux chiffres - # )? groupe optionnel - # (\s+ un ou plusieurs espaces - # \(.+\)) un ou plusieurs caractères quelconques entre parenthèses - # ? groupe optionnel - # $ fin de la ligne - group_regex = re.compile(r"^([\w\- ]+?)\s+((CM(\w))|(TD(\w)(\d))|(TP(\w)(\d)(\d)))?(\s+\(.+\))?$") + # ^(.+?)\s+((CM(\w))|(TD(\w)(\d))|(TP(\w)(\d)(\d)))?(\s+\(.+\))?$ + # ^ début de la ligne + # (.+?) correspond à au moins un caractère + # \s+ un ou plusieurs espaces + # ((CM(\w))| correspond à CM suivi d'une lettre ou… + # (TD(\w)(\d))| … à TD suivi d’une lettre et d'un chiffre ou… + # (TP(\w)(\d)(\d)) … à TP suivi d’une lettre et de deux chiffres + # )? groupe optionnel + # (\s+ un ou plusieurs espaces + # \(.+\)) un ou plusieurs caractères quelconques entre parenthèses + # ? groupe optionnel + # $ fin de la ligne + group_regex = re.compile(r"^(.+?)\s+((CM(\w))|(TD(\w)(\d))|(TP(\w)(\d)(\d)))?(\s+\(.+\))?$") search = group_regex.search(name) if search is None: return name, None, None, None |