|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 111 ![]() |
salut,
il y a un moment j'avais deja posté une question sur les expression régulière. J'avais réussi a avoir ce que je pensais bon, mais je me suis apercu qu'il fallait légèrerement modifier l'expression régulière.Et la c'est le drame, ca ne marche pas alors qu'il devrait retrouver cette expression regulière. je montre : voici l'expression du debut qui marche: Code :
\trowd [........] {\fs18 REFDOC2\cell VERS2\cell }[........] \cellx9639\row } maintenant je veux match avec la meme chose en ajoutatnt } au début. Code :
[........]\clftsWidth3\clwWidth1134 \cellx9639\row }\trowd \trgaph70\trleft-70\trkeep\trbrdrt\brdrs\brdrw5 \trbrdrl\brdrs\brdrw5 \trbrdrb\brdrs\brdrw5 \trbrdrr[.....]\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 \f1\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\fs18 DOCUMENT2\cell }\pard \s44\qc \li57\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 {\fs18 REFDOC2\cell VERS2\cell }\pard[........]clwWidth1134 \cellx9639\row } et donc moi je veux que ca me retourne : }\trowd \trgaph70\trleft-70\trkeep\trbrdrt\brdrs\brdrw5 \trbrdrl\brdrs\brdrw5 \trbrdrb\brdrs\brdrw5 \trbrdrr[.....]\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 \f1\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\fs18 DOCUMENT2\cell }\pard \s44\qc \li57\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 {\fs18 REFDOC2\cell VERS2\cell }\pard[........]clwWidth1134 \cellx9639\row } alors si quelqu'un peut m'aider se serait cool |
||||
|
|
00
|
|
|
#2 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
L'accolade est un caractère spécial, il faut donc l'échapper : Citation:
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 111 ![]() |
oui je sais que l'accolade est un carectere speciaux et comme tu peux le voir c'est le 3eme essais que j'ai fais mais sans succès.
Code :
|
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 111 ![]() |
je viens d'essayer la solution
[CITATION] if(preg_match_all('/\}\\\\trowd(.*)\\\\row }/Usi', $string, $matches, PREG_SET_ORDER)){ foreach($matches as $match){ echo $match[0].'<br /><br />'; } } [/CITATION] et ca me retourne en effet un string qui verifie expr reg mais pas la plus petite je pensais que le su permettait de ne pas se preoccupe des caractere d'espacement et de retourner le plus petit string qui verifie l'expression reg |
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Flûte, il reste une accolade non échappée à la fin.
C'est le modificateur U qui permet de trouver le plus possible de résultats. [Edit] Apparemment, puisqu'il n'y a pas d'accolade ouvrante dans la regex, il n'est pas nécessaire d'échapper les 2 accolades fermantes. Je viens de tester en copiant 5 fois ta chaîne exemple de test : ça fonctionne à merveille.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 111 ![]() |
est ce que tu peux me dire si avec la vrai variable a parser tu y arrive parce que chez moi je recupere un truc enorme (en effet il verifie l'expr reg) et pas du tout une petite partie.
et moi je veux juste recuperer : }\trowd \trgaph70\trleft-70\trkeep\trbrdrt\brdrs\brdrw5 \trbrdrl\brdrs\brdrw5 \trbrdrb\brdrs\brdrw5 \trbrdrr\brdrs\brdrw5 \trbrdrh\brdrs\brdrw5 \trbrdrv\brdrs\brdrw5 \trftsWidth1\trpaddl70\trpaddr70\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw45 \clbrdrb\brdrs\brdrw5 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth6449 \cellx6379\clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw5 \clbrdrr\brdrs\brdrw5 \cltxlrtb\clftsWidth3\clwWidth2126 \cellx8505\clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw5 \clbrdrb\brdrs\brdrw5 \clbrdrr\brdrs\brdrw45 \cltxlrtb\clftsWidth3\clwWidth1134 \cellx9639\pard\plain \s44\qj \li57\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 \f1\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\fs18 DOCUMENT1\cell }\pard \s44\qc \li57\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin57 {\fs18 REFDOC1\cell VERS1\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \f1\fs22\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\fs18 \trowd \trgaph70\trleft-70\trkeep\trbrdrt\brdrs\brdrw5 \trbrdrl\brdrs\brdrw5 \trbrdrb\brdrs\brdrw5 \trbrdrr\brdrs\brdrw5 \trbrdrh\brdrs\brdrw5 \trbrdrv\brdrs\brdrw5 \trftsWidth1\trpaddl70\trpaddr70\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw45 \clbrdrb\brdrs\brdrw5 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth6449 \cellx6379\clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw5 \clbrdrr\brdrs\brdrw5 \cltxlrtb\clftsWidth3\clwWidth2126 \cellx8505\clvertalt\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw5 \clbrdrb \brdrs\brdrw5 \clbrdrr\brdrs\brdrw45 \cltxlrtb\clftsWidth3\clwWidth1134 \cellx9639\row } merci pour ton aide |
|
|
00
|
|
|
#7 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je ne comprends absolument pas ce que tu souhaites récupérer.
De plus, tu ne m'as pas donné le contenu de ta variable $string : c'est pour cela que je l'ai évincée. Explique-moi ce que tu souhaites faire ou bien donne-moi un lien vers l'ancien sujet, stp. Là, je pars de quelque chose de très bancale. Il me faut davantage d'infos pour t'aider correctement.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com