[PHP] Regex

Bonjour
J'ai un problème avec une regex que j'essaye de faire.
En gros, je veux récupérer les champs d'un fichier Selenium. J'ai donc plusieurs lignes de ce type:
$this->click("rep3_0");
$this->type("nom", "Dupont");
$this->type("prenom", "Martin");
Dans lesquels je veux donc récupérer "nom" et "prenom"
J'ai réussi grâce à une première regex à enlever le début, ce qui fait qu'il me reste des lignes de ce type la:
rep3_0")
nom", "Dupont")
prenom", "Martin")
Je voudrais donc utiliser une seconde fois preg_replace, en remplaçant la fin par une chaine vide, à partir du guillemet.
Mais j'ai un peu de mal à trouver la regex qu'il faut, je voudrais dire une chaine qui commence par " et qui se termine par ")
J'ai donc essayé un truc du genre, en essayant séparément les deux expressions:
/^"/ > commence par "
/\)$/ > termine par ")
Mais ça ne fonctionne pas. Je suis pas très douée en regex, et j'aimerais donc solliciter votre aide pour ce problème :)
De plus, je ne sais pas si c'est vraiment possible de sélectionner toute l'expression de cette façon, en réunissant les deux regex en une.
Merci d'avance pour l'aide
Configuration: Windows XP
Firefox 3.5

4 réponses

  1. J'ai eu la solution sur un autre forum, je la met ici si ça peut aider :)
    <?php
    $str = '$this->click("rep3_0");
    $this->type("nom", "Dupont");
    $this->type("prenom", "Martin");';

    $reg = '#^[^"]*"([^"]+).*#mx';
    print preg_replace($reg, '$1', $str);
    ?>
    1
    1. #^guitare# La chaîne doit commencer par "guitare"
      #guitare$# La chaîne doit se terminer par "guitare"

      C'est bien ce que je fais, /^"/ pour commencer par "
      /")$/ pour terminer par ")

      Je teste mes regex sur ce site : https://lumadis.be/regex/test_regex.php
      Mais non, ça ne marche pas
      0
      1. Contributeur
        ok, met ton post en resolu :)
        0