Expressions regulieres sous PHP
ouss747
Messages postés
127
Statut
Membre
-
ouss747 Messages postés 127 Statut Membre -
ouss747 Messages postés 127 Statut Membre -
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
- [PHP] : Expressions regulières - Forum PHP
- [PHP] Expressions réguliè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?