J'ai du texte avec des jours, heures, minutes, au format suivant:Exclure le symbole de la capture et obtenir uniquement les données requises?
4 d. 12 h. 32 m.
7 h. 22 m.
3 d. 14 h.
Avis, que certains d'entre eux peuvent être apsent (par exemple: 3 d. 14 h.
ne marche pas contient minutes)
Je veux saisir chiffres groupes nommés, mais ne capture pas les caractères (dhm). Donc finalement je dois obtenir le résultat quelque chose comme cette carte:
[
'days' => 4,
'hours' => 12,
'minutes' => 32,
]
Ce que j'ai écrit: (?P<days>(\d+) d.)?(?P<hours>(\d+) h.)?(?P<minutes>(\d+) m.)?
Lien: https://regex101.com/r/FERRnd/1
Mais il semble qu'il y ait des éléments vides, et j'ai le sentiment que ce n'est pas la meilleure expression régulière pour cette tâche. Est-il possible de recevoir seulement les params nommés comme chiffres et rien d'autre (pas de champs vides, pas de texte comme 12 h.
etc.)?
Merci beaucoup!
@akond oui, c'est exactement ce dont j'ai besoin! Je vous remercie. –