A voir également:
- Trouver la bonne expression regulière
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
- Où trouver l'autorité de délivrance ? ✓ - Forum Vos droits sur internet
3 réponses
Bonjour.
Pourquoi ne pas faire plusieurs expressions simples plutôt qu'une seule indigeste ?
Surtout que les deux chaînes sont de différents formats, donc difficile dans une seule regex.
Quelque chose comme :
$ligne = "Harold Harvey(%A Kitchen Interior%1918 % % %"; $ligne = preg_replace('#\(%(\w )?#', '()', $ligne); $ligne = preg_replace('#( %)*$#', '', $ligne); $ligne = preg_replace('#\((\d{4})\)#', '$1', $ligne); $ligne = str_replace('%', ' ', $ligne); echo "'$ligne'";
Qu'on mettrait dans une fonction.
Utilisateur anonyme
19 févr. 2024 à 13:05
19 févr. 2024 à 13:05
Bonjour
si tes lignes ont toutes le format que tu as montré
^([\w ]+?)[(%) ]*([\w ]+?)[(%) ]*(\d+)[(%) ]*$
A remplacer par
$1() $2 $3
Que tu peux testé là https://regex101.com/r/LnJEog/1