Expressions regulieres sous PHP
ouss747
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
ouss747 Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
ouss747 Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
bonjour
je cherche à extraire une chaine de caractères inclue dans une autre chaine pour cela j'utilise la fonction preg_match_all qui semble donner de bon résultats, cependant cette fonction utilise un motif exprimé avec les expressions régulières pour extraire la chaine
mon probleme est que je n'arrive pas à trouver ce motif pour le cas suivant:
dans cet exemple j'ai ma chaine :
.R
text text text text
text text text text
.G
je souhaite extraire la chaine "text text text text ...." avec les saut de lignes
j'ai utilise ce motif mais ca donne pas de bon resultat:
$motif=''^(\.R)\s.+(\.G)$'';
quel est le motif qu'on doit utilise?
Merci d'avance.
je cherche à extraire une chaine de caractères inclue dans une autre chaine pour cela j'utilise la fonction preg_match_all qui semble donner de bon résultats, cependant cette fonction utilise un motif exprimé avec les expressions régulières pour extraire la chaine
mon probleme est que je n'arrive pas à trouver ce motif pour le cas suivant:
dans cet exemple j'ai ma chaine :
.R
text text text text
text text text text
.G
je souhaite extraire la chaine "text text text text ...." avec les saut de lignes
j'ai utilise ce motif mais ca donne pas de bon resultat:
$motif=''^(\.R)\s.+(\.G)$'';
quel est le motif qu'on doit utilise?
Merci d'avance.
A voir également:
- Expressions regulieres sous PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- [PHP] : Expressions regulières - Forum PHP
2 réponses
Bonjour,
Tu fais de multiples erreurs..
Déjà, si tu utilise une fonction qui commence par "preg_", c'est que tu utilises PCRE et non pas POSIX, d'où l'utilité de délimiteurs (des #, par exemple).
Ensuite, les parenthèses (ici, capturantes) ne sont pas bien placées : elles doivent entourer ce qui doit être récupéré, en l'occurence les "text text...".
Enfin, il y a des retours à la ligne dans ton texte, ils doivent aussi être récupérés.
J'en arrive finalement à la regex suivante :
$motif = "#^\.R(.+)\.G$#s";
Tu fais de multiples erreurs..
Déjà, si tu utilise une fonction qui commence par "preg_", c'est que tu utilises PCRE et non pas POSIX, d'où l'utilité de délimiteurs (des #, par exemple).
Ensuite, les parenthèses (ici, capturantes) ne sont pas bien placées : elles doivent entourer ce qui doit être récupéré, en l'occurence les "text text...".
Enfin, il y a des retours à la ligne dans ton texte, ils doivent aussi être récupérés.
J'en arrive finalement à la regex suivante :
$motif = "#^\.R(.+)\.G$#s";
autres solutions?