Expression régulière : Petit problème
Résolu/Fermé
Alea
-
11 mars 2006 à 17:14
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 11 mars 2006 à 17:50
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 11 mars 2006 à 17:50
A voir également:
- Expression régulière : Petit problème
- Expression de recherche - Guide
- Expression encoder - Télécharger - Divers Utilitaires
- Error: expected expression ✓ - Forum C
- Quel fichier contient l’expression trouverpix ? - Forum Programmation
- Mettre en image expression ✓ - Forum Jeux vidéo
7 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
11 mars 2006 à 17:21
11 mars 2006 à 17:21
En général c'est bien de savoir la structure de texte pour pouvoir exploiter une regex
/a href="#[^"]+"/
Tu peux tester ici tes regex
http://www.annuaire-info.com/expression-reguliere.html
Je travaille avec perl et ses regex donc je ne sais pas les regex en php.
/a href="#[^"]+"/
Tu peux tester ici tes regex
http://www.annuaire-info.com/expression-reguliere.html
Je travaille avec perl et ses regex donc je ne sais pas les regex en php.
Euh petite précision: c'est le a href="#....." que je souhaite récupérer en fait. (en sachant qu'après le "#" il y a des caractères soit alphabétiques, soit numériques, soit les 2)
Merci beaucoup! Je vais voir ça...
Mais ça fait partie de la difficulté du truc de ne pas savoir à l'avance le texte qu'il y aura dans cette partie.
Mais ça fait partie de la difficulté du truc de ne pas savoir à l'avance le texte qu'il y aura dans cette partie.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
11 mars 2006 à 17:27
11 mars 2006 à 17:27
ça fait partie de la difficulté du truc de ne pas savoir à l'avance le texte qu'il y aura dans cette partie.
En général on utilise les regex pour trouver des correspondances (des motifs dans une chaîne de caractères) ou dans un test boolean.
Si m// correspond Alors
fait quelque chose
Dans ton cas tu veux récuperer de texte donc il faut savoir la structure de texte pour pouvoir exploiter mieux les regex. Et, crois moi que je ne dit pas comme ça pour parler.
En général on utilise les regex pour trouver des correspondances (des motifs dans une chaîne de caractères) ou dans un test boolean.
Si m// correspond Alors
fait quelque chose
Dans ton cas tu veux récuperer de texte donc il faut savoir la structure de texte pour pouvoir exploiter mieux les regex. Et, crois moi que je ne dit pas comme ça pour parler.
Ben le problème c'est que je suis censée faire un automate.Qui dit automate dit automatique.
Cet automate peut analyser n'importe quel code html et le truc, c'est que ce qui est contenu dans "a href=#....", bah ça peut varier. C'est selon ce que le créateur du site aura marqué dedans.
Ya pas possibilité de dire en expression régulière de récupérer ce qu'il y a entre guillemets lorsque c'est après "a href"?
Cet automate peut analyser n'importe quel code html et le truc, c'est que ce qui est contenu dans "a href=#....", bah ça peut varier. C'est selon ce que le créateur du site aura marqué dedans.
Ya pas possibilité de dire en expression régulière de récupérer ce qu'il y a entre guillemets lorsque c'est après "a href"?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
11 mars 2006 à 17:36
11 mars 2006 à 17:36
Re,
Ya pas possibilité de dire en expression régulière de récupérer ce qu'il y a entre guillemets lorsque c'est après "a href"?
Oui c'est ça que je t'ai donné. Maintenant je ne sais pas comment on fait les captures en php. En perl on utilise les ( )
a href="#[^"]+"
Ex pour perl
a href=("#[^"]+") la ( ) est capturé dans la variable $1
je vais traduire
trouve a suis d'un espace suis de h de r de e de f de = de " de # de tout caractère qui n'est pas " une fois minimum et " à la fin
Ya pas possibilité de dire en expression régulière de récupérer ce qu'il y a entre guillemets lorsque c'est après "a href"?
Oui c'est ça que je t'ai donné. Maintenant je ne sais pas comment on fait les captures en php. En perl on utilise les ( )
a href="#[^"]+"
Ex pour perl
a href=("#[^"]+") la ( ) est capturé dans la variable $1
je vais traduire
trouve a suis d'un espace suis de h de r de e de f de = de " de # de tout caractère qui n'est pas " une fois minimum et " à la fin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Arf ça marche pas, ya un problème au niveau des guillemets et des délimiteurs.
Pour les captures, en php si j'ai bien compris c'est avec la fonction preg match all, on met en paramètre un tableau et après, la fonction le remplit pour chaque élément trouvé (enfin je crois).
Mais là en fait j'ai testé et il ne reconnaît pas quand il y a plus de deux ", après il met en commentaires... j'ai testé avec ' mais je ne suis pas sûre que ça le prenne en compte car ça ne marche pas...
Enfin merci de toute aide en tout cas ^^
Pour les captures, en php si j'ai bien compris c'est avec la fonction preg match all, on met en paramètre un tableau et après, la fonction le remplit pour chaque élément trouvé (enfin je crois).
Mais là en fait j'ai testé et il ne reconnaît pas quand il y a plus de deux ", après il met en commentaires... j'ai testé avec ' mais je ne suis pas sûre que ça le prenne en compte car ça ne marche pas...
Enfin merci de toute aide en tout cas ^^
Ahhh mais si en fait ça marche! J'avais oublié de mettre les / au début et à la fin! Miracle, merci beaucoup!!!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
11 mars 2006 à 17:50
11 mars 2006 à 17:50
Re,
je t'ai donné que la regex
a href="#[^"]+"
je suis désolé que j'ai oublié de te dire qu'il faut la mettre entre //
Donc /regex/
Si ça marche tant mieux, je suis content pour toi.
Avec les regex on peut faire des choses surprenantes.
Bonne continuation,
lami20j
je t'ai donné que la regex
a href="#[^"]+"
je suis désolé que j'ai oublié de te dire qu'il faut la mettre entre //
Donc /regex/
Si ça marche tant mieux, je suis content pour toi.
Avec les regex on peut faire des choses surprenantes.
Bonne continuation,
lami20j