Il arrive souvent que l’on ait besoin de mettre à jour un bout de code, comme par exemple pour changer le nom d’une fonction, ou par exemple une liste d’id d’une base à mettre à jour. Au lieux de passer 5 minutes à faire des copier coller, on peut faire un recherche / remplace à l’aide d’une expression régulière.
Premier cas :
Je souhaite faire un update sur une liste d’id récupérer avec PHPMyAdmin, sans avoir à recopier la requête autant de fois qu’il y a d’id, je souhaite générer directement toute les requête d’un coup
Voici ma liste d’id que souhaite mettre à jour
(35), (43), (58), (63), (68), (70), (71), (98), (113), (117), (150), (180), (359), (426), (463);
On voit ici un structure récurrente, des parenthèses autour du numéro avec un virgule après.
Voici la recherche avancée :
\((.*)\),
On échappe les parenthèses que l’on cherche, et on en utilise pour capture du numéro. Lors du remplacement, il suffira d’appeler $1 pour récupérer notre capture.
Le remplacement :
UPDATE `table` SET `actif` = '0' WHERE `table`.`id` = $1 ;
Deuxième cas :
Sources
<?php
mon_ancien_fonction( $param, 'chaine' );
?>
Recherche
mon_ancien_fonction\( (.*) \);
Remplace
nouvelle_fonction( $1 );
Il peuvent s’adapter facilement à d’autre situation, afin de faire des essais ce site joue bien son rôle : http://regexp.zug.fr/