aide pour expression reguliere..... basique

Le
Hugues MORIN
--002215049217f0a4ed04997b8d17
Content-Type: text/plain; charset=ISO-8859-1

Bonjour a tous

Je suis en train d'essayer de faire une expression reguliere pour un morceau
de code php pour une fonction preg_match()

Je suis au desepoir de voir ma nullite concernant les regexp, ca fait plus
d'une heure que je cherches une solution de quelques chose que je ne crois
pas complique )-:
J'aurai besoin d'un coup de main et au passage de quelques liens sur les
regexp dans le genre
"les regexp pour les nuls mais les vraiment nul." (-;

je cherche a extraire 'textecherche' sachant que le tiret entre
textequelconque_1 et textequelconque_2 est fixe
et que le " (" et "):" autour de 'textecherche' est fixe

textequelconque_1 - textequelconque_2 (textecherche):


Cordialement
Hugues

--002215049217f0a4ed04997b8d17
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Bonjour a tous</div>
<div> </div>
<div>Je suis en train d&#39;essayer de faire une expression reguliere pour =
un morceau de code php pour une fonction preg_match()</div>
<div> </div>
<div>Je suis au desepoir de voir ma nullite concernant les regexp, ca fait =
plus d&#39;une heure que je cherches une solution de quelques chose que je =
ne crois pas complique )-:</div>
<div>J&#39;aurai besoin d&#39;un coup de main et au passage de quelques l=
iens sur les regexp dans le genre</div>
<div>&quot;les regexp pour les nuls mais les vraiment nul.&quot; (-;</di=
v>
<div> </div>
<div>je cherche a extraire &#39;textecherche&#39; sachant que le tiret entr=
e textequelconque_1 et textequelconque_2 est fixe</div>
<div>et que le &quot; (&quot; et &quot;):&quot; autour de  &#39;texte=
cherche&#39; est fixe</div>
<div> </div>
<div>textequelconque_1 - textequelconque_2 (textecherche):</div>
<div> </div>
<div> </div>
<div>Cordialement</div>
<div>Hugues</div>
<div> </div>
<div> </div>
<div> </div>

--002215049217f0a4ed04997b8d17--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/AANLkTimEupA1QbKBbv4Doy==bVg4BPW+3EFWj0LJnSJT@mail.gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Hugues MORIN
Le #23005941
--0016364edb0cd14ddf04997bfa65
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Je me reponds a moi meme

Sur le site http://gskinner.com/RegExr/ , j'ai trouver ca:
Substring text between some tags.Example:[starttag]hello[endtag]
Pattern: /(?<=[starttag]).*(?=[endtag])/gs

Je l'ai adapter comme ca et sur leur testeur ca marche: (?<= ().*(?= ):)

Ca parait evident quand on voi la solution mais ca ne meserait jamais venu a
l'idee

Je ne l'ai pas encore teste dans le php. si vous voyez un pb avec faite le
moi savoir

Cordialement
Hugues


Le 10 janvier 2011 11:37, Hugues MORIN
Bonjour a tous

Je suis en train d'essayer de faire une expression reguliere pour un
morceau de code php pour une fonction preg_match()

Je suis au desepoir de voir ma nullite concernant les regexp, ca fait plu s
d'une heure que je cherches une solution de quelques chose que je ne croi s
pas complique )-:
J'aurai besoin d'un coup de main et au passage de quelques liens sur les
regexp dans le genre
"les regexp pour les nuls mais les vraiment nul...." (-;

je cherche a extraire 'textecherche' sachant que le tiret entre
textequelconque_1 et textequelconque_2 est fixe
et que le " (" et "):" autour de 'textecherche' est fixe

textequelconque_1 - textequelconque_2 (textecherche):


Cordialement
Hugues







--0016364edb0cd14ddf04997bfa65
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Je me reponds a moi meme</div>
<div> </div>
<div>
<div> </div></div>
<div> </div>
<div>Ca parait evident quand on voi la solution mais ca ne meserait jamais venu a l&#39;idee</div>
<div> </div>
<div> </div>
<div>Cordialement</div>
<div>Hugues</div>
<div> </div>
<div> </div>
<div>Bonjour a tous</div>
<div> </div>
<div>Je suis en train d&#39;essayer de faire une expression reguliere pour un morceau de code php pour une fonction preg_match()</div>
<div> </div>
<div>Je suis au desepoir de voir ma nullite concernant les regexp, ca fait plus d&#39;une heure que je cherches une solution de quelques chose que je ne crois pas complique )-:</div>
<div>J&#39;aurai besoin d&#39;un coup de main et au passage de quelques l iens sur les regexp dans le genre</div>
<div> </div>
<div>je cherche a extraire &#39;textecherche&#39; sachant que le tiret entr e textequelconque_1 et textequelconque_2 est fixe</div>
<div>et que le &quot; (&quot; et &quot;):&quot; autour de  &#39;texte cherche&#39; est fixe</div>
<div> </div>
<div>textequelconque_1 - textequelconque_2 (textecherche):</div>
<div> </div>
<div> </div>
<div>Cordialement</div>
<div>Hugues</div><font color="#888888">
<div> </div>
<div> </div>
<div> </div></font></blockquote></div><br>

--0016364edb0cd14ddf04997bfa65--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTikNkksO2=
Julien
Le #23005981
Un petit HS dans le sujet quand même ?

Le lundi 10 janvier 2011 à 11:37 +0100, Hugues MORIN a écrit :
Bonjour a tous

Je suis en train d'essayer de faire une expression reguliere pour un
morceau de code php pour une fonction preg_match()



Fonction interessantes ...

Je suis au desepoir de voir ma nullite concernant les regexp, ca fait
plus d'une heure



C'est une heure pour comprendre les regexp c'est un peu court !

que je cherches une solution de quelques chose que je ne crois pas
complique )-:
J'aurai besoin d'un coup de main et au passage de quelques liens sur
les regexp dans le genre
"les regexp pour les nuls mais les vraiment nul...." (-;



http://fr2.php.net/manual/fr/reference.pcre.pattern.syntax.php

Je te conseille le programme visual-regexp pour tester régulièrement tes
expressions.

je cherche a extraire 'textecherche' sachant que le tiret entre
textequelconque_1 et textequelconque_2 est fixe
et que le " (" et "):" autour de 'textecherche' est fixe

textequelconque_1 - textequelconque_2 (textecherche):




preg_match("/textecherche/",$ligne,$resultat);


Cordialement
Hugues






--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
moi-meme
Le #23006021
Le Mon, 10 Jan 2011 12:20:02 +0100, Julien a écrit :


Je suis en train d'essayer de faire une expression reguliere pour un
morceau de code php pour une fonction preg_match()



Fonction interessantes ...

Je suis au desepoir de voir ma nullite concernant les regexp, ca fait
plus d'une heure



C'est une heure pour comprendre les regexp c'est un peu court !



pour les neuneus comme moi il y a txt2regex. Un script python bien sympa.

(tout au clavier en plus)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4d2aee22$0$1030$
moi-meme
Le #23006041
Le Mon, 10 Jan 2011 12:20:02 +0100, Julien a écrit :

http://fr2.php.net/manual/fr/reference.pcre.pattern.syntax.php

Je te conseille le programme visual-regexp pour tester régulièrement tes
expressions.



il y a aussi txt2regex en mode console

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4d2af1b5$0$1030$
Hugues MORIN
Le #23006081
--000325574926a685cb04997cdafe
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Merci et desole pour le HS. Je suis la liste et je sais que certain son tre s
cale en regexp.

En fait , ca me semblait evident mais je me suis mal exprime, 'textecherche '
est inconnu.
Si il avait ete connu cela aurait ete plus simple.

txt2regex a l'air sympa pour faire des regexp quand on y connait rien ou qu e
l'on comprend rien comme moi.
et il peut permettre d'apprendre a les construire petit a petit; Je me gard e
ca sous le coude pour la prochaine a faire.

cordialement
Hugues

Le 10 janvier 2011 12:17, Julien
Le lundi 10 janvier 2011 à 12:07 +0100, Hugues MORIN a écrit :
> Je me reponds a moi meme
>
> Sur le site http://gskinner.com/RegExr/ , j'ai trouver ca:
> Substring text between some tags.Example:[starttag]hello[endtag]
> Pattern: /(?<=[starttag]).*(?=[endtag])/gs
>
> Je l'ai adapter comme ca et sur leur testeur ca marche: (?<= ().*(? =
> ):)

un peu complexe

/(([ws]+))$/ => le texte entre paranthèses à la fin de la ligne

Julien





--000325574926a685cb04997cdafe
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div> </div>
<div> </div>
<div> </div>
<div>cordialement</div>
<div>Hugues<br><br></div>
&gt; Pattern: /(?&lt;=[starttag]).*(?=[endtag])/gs <font color="#888888"><br>Julien<br><br></font></blockquote></div><br>

--000325574926a685cb04997cdafe--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Patrick CAO HUU THIEN
Le #23011111
Hugues MORIN a dit le 01/10/2011 11:37 AM:
je cherche a extraire 'textecherche' sachant que le tiret entre
textequelconque_1 et textequelconque_2 est fixe
et que le " (" et "):" autour de 'textecherche' est fixe

textequelconque_1 - textequelconque_2 (textecherche):



Si tu connais a l'avance «textequelconque» essaie tout simplement :

$untexteqcq = 'mon texte super quelconque';
$sep='-';
$pattern = "#${untexteqcq}_1 $sep ${untexteqcq}_2 (([^)]*)):#";
preg_match($pattern, $texte, $matches)

PS: je suis pas sure pour la syntaxe ${untexteqcq} mais vous voyez
ce que je veux dire

Si tu ne connais pas à l'avance «textequelconque» il faut utiliser
les reference arriere[1]:

$pattern = "#(w*)_1 $sep 1_2 (([^)]*)):#";

PS2: «(w*)» suppose un texte avec uniquement des chiffres et
lettre. A affiner si besoin [2]

voila

[1] http://fr2.php.net/manual/fr/regexp.reference.back-references.php
[2] http://fr2.php.net/manual/fr/regexp.reference.escape.php

patrick

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Hugues MORIN
Le #23024011
--0050450143e7eb71480499e1ac3a
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Bonjour

J'ai finalement utilise la solution que j'ai trouve et ca a l'air de bien
fonctionner.

Mais j'aimerai bien comprendre cette expression:
$pattern = "#(w*)_1 $sep 1_2 (([^)]*)):#";

#: Debut et fin d'expression
(w*)_1: c'est un Sous masque numerote 1 pour les references arrieres. w
correspond a un caractere et le * lui donne une longueur de 0 ou plus
$sep: C'est le separateur "-" que l'on connait
1_2: On rappelle le sous-masque 1 et l'on note ce numerote 2 ce nouveau
sous masque.
(([^)]*)): : Cette partie me pose probleme
Si ( correspond a ( qui est avant textecherche et que ): correspond au ):
apres textecherche
alors comment traduire ([^)]*)
( et ) ouvre et ferme le sous masque, * repete plusieur fois [^)]
donc si j'ai bien compris [^)]* correspond a textecherche (et sera stocke
dans $matches de preg_match($pattern, $texte, $matches))
[ et ] ouvre et ferme une definition de classe. Cette notion n'est pas tres
claire pour moi

Est ce que l'on appelle "classe" la partie qui doit etre la solution de
l'expression?
Et pour finir:
^): correspond a tout ce qui n'est pas ) (^=negation, )=) )

Est ce que ma traduction vous semble exacte?



Cordialement
Hugues


Le 11 janvier 2011 19:20, Patrick CAO HUU THIEN <
a écrit :

Hugues MORIN a dit le 01/10/2011 11:37 AM:
> je cherche a extraire 'textecherche' sachant que le tiret entre
> textequelconque_1 et textequelconque_2 est fixe
> et que le " (" et "):" autour de 'textecherche' est fixe
>
> textequelconque_1 - textequelconque_2 (textecherche):

Si tu connais a l'avance «textequelconque» essaie tout simplement :

$untexteqcq = 'mon texte super quelconque';
$sep='-';
$pattern = "#${untexteqcq}_1 $sep ${untexteqcq}_2 (([^)]*)):#";
preg_match($pattern, $texte, $matches)

PS: je suis pas sure pour la syntaxe ${untexteqcq} mais vous voyez
ce que je veux dire

Si tu ne connais pas à l'avance «textequelconque» il faut utiliser
les reference arriere[1]:

$pattern = "#(w*)_1 $sep 1_2 (([^)]*)):#";

PS2: «(w*)» suppose un texte avec uniquement des chiffres et
lettre. A affiner si besoin [2]

voila

[1] http://fr2.php.net/manual/fr/regexp.reference.back-references.php
[2] http://fr2.php.net/manual/fr/regexp.reference.escape.php

patrick





--0050450143e7eb71480499e1ac3a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Bonjour</div>
<div> </div>
<div> </div>
<div>Mais j&#39;aimerai bien comprendre cette expression:</div>
<div>$pattern = &quot;#(w*)_1 $sep 1_2 (([^)]*)):#&quot;;</div>
<div> </div>
<div>#: Debut et fin d&#39;expression</div>
<div>$sep: C&#39;est le separateur &quot;-&quot; que l&#39;on connait</div>
<div>Si ( correspond a ( qui est avant textecherche et que ): correspond a u ): apres textecherche</div>
<div>alors comment traduire ([^)]*)</div>
<div>( et ) ouvre et ferme le sous masque, * repete plusieur fois [^)]</di v>
<div>donc si j&#39;ai bien compris [^)]* correspond a textecherche (et ser a stocke dans $matches de preg_match($pattern, $texte, $matches))</div>
<div> </div>
<div>Est ce que l&#39;on appelle &quot;classe&quot; la partie qui doit etre la solution de l&#39;expression?</div>
<div>Et pour finir:</div>
<div>^): correspond a tout ce qui n&#39;est pas )   (^=negation, ) =)  )</div>
<div><br>Est ce que ma traduction vous semble exacte? </div>
<div> </div>
<div> </div>
<div> </div>
<div>Cordialement</div>
<div>Hugues</div>
<div> </div>
<div> </div>
<div class="gmail_quote">
<div class="im">&gt; je cherche a extraire &#39;textecherche&#39; sachant que le tiret entre<br>&gt; textequelconque_1 et textequelconque_2 est fixe <br>&gt; et que le &quot; (&quot; et &quot;):&quot; autour de  &#39;texte cherche&#39; est fixe<br>
&gt;<br>&gt; textequelconque_1 - textequelconque_2 (textecherche):<br><br>< /div>Si tu connais a l&#39;avance «textequelconque» essaie tout simplem ent :<br><br> $untexteqcq = &#39;mon texte super quelconque&#39;;<br>  $sep=&#39;-&#39;;<br>
 $pattern = &quot;#${untexteqcq}_1 $sep ${untexteqcq}_2 (([^)]*)):#&q uot;;<br> preg_match($pattern, $texte, $matches)<br><br>PS: je suis pas s ure pour la syntaxe ${untexteqcq} mais vous voyez<br>ce que je veux dire<br ><br>
Si tu ne connais pas à l&#39;avance «textequelconque» il faut utilise r<br>les reference arriere[1]:<br><br> $pattern = &quot;#(w*)_1 $sep 1_2 (([^)]*)):#&quot;;<br><br>PS2: «(w*)» suppose un texte avec uniq uement des chiffres et<br>
lettre. A affiner si besoin [2] [2]
--0050450143e7eb71480499e1ac3a--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Yves Rutschle
Le #23024221
On Sat, Jan 15, 2011 at 01:27:34PM +0100, Hugues MORIN wrote:
donc si j'ai bien compris [^)]* correspond a textecherche (et sera stocke
dans $matches de preg_match($pattern, $texte, $matches))
[ et ] ouvre et ferme une definition de classe. Cette notion n'est pas tres
claire pour moi



Une classe est simpement un ensemble de caractères: tu mets
entre les crochets tous les caractères qui correspondent à
la classe, et tu peux définir des plages avec '-'.

Par ex., w est équivalent à [a-zA-Z0-9_] (n'importe quelle
lettre, chiffre ou underscore), d est équivalenet à [0-9],
[aeiouy] correspond aux voyelles, etc.

Le chapeau définit l'inverse de la classe: [^0-9] définit
n'importe quel caractère qui ne soit pas un chiffre.

Du coup, [^)]* veut dire "0 ou plus caractère qui ne soit
pas une parenthèse fermante).

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Hugues MORIN
Le #23026361
--0022152d7e0b709d250499f43ccb
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Bonjour


merci a tous pour votre aide.
Ca ma vraiment beaucoup aider, je sais enfin par quel bout prendre les
regexp pour les comprendre.


Cordialement
Hugues





Le 15 janvier 2011 14:03, Yves Rutschle écrit :

On Sat, Jan 15, 2011 at 01:27:34PM +0100, Hugues MORIN wrote:
> donc si j'ai bien compris [^)]* correspond a textecherche (et sera
stocke
> dans $matches de preg_match($pattern, $texte, $matches))
> [ et ] ouvre et ferme une definition de classe. Cette notion n'est pas
tres
> claire pour moi

Une classe est simpement un ensemble de caractères: tu mets
entre les crochets tous les caractères qui correspondent à
la classe, et tu peux définir des plages avec '-'.

Par ex., w est équivalent à [a-zA-Z0-9_] (n'importe quelle
lettre, chiffre ou underscore), d est équivalenet à [0-9],
[aeiouy] correspond aux voyelles, etc.

Le chapeau définit l'inverse de la classe: [^0-9] définit
n'importe quel caractère qui ne soit pas un chiffre.

Du coup, [^)]* veut dire "0 ou plus caractère qui ne soit
pas une parenthèse fermante).

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/





--0022152d7e0b709d250499f43ccb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Bonjour</div>
<div> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote">Cordialement</div>
<div class="gmail_quote">Hugues</div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="gmail_quote"> </div>
<div class="im">On Sat, Jan 15, 2011 at 01:27:34PM +0100, Hugues MORIN wr ote:<br>&gt; donc si j&#39;ai bien compris [^)]* correspond a textecherche (et sera stocke<br>&gt; dans $matches de preg_match($pattern, $texte, $mat ches))<br>
&gt; [ et ] ouvre et ferme une definition de classe. Cette notion n&#39;est pas tres<br>&gt; claire pour moi<br><br></div>Une classe est simpement un ensemble de caractères: tu mets<br>entre les crochets tous les caractèr es qui correspondent à<br>
la classe, et tu peux définir des plages avec &#39;-&#39;. vers
--0022152d7e0b709d250499f43ccb--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme