#1 Le 05/04/2011, à 16:13
- anerty
Probléme Regex PCRE pour selection avec saut de ligne inclus
Bonjour,
J'aimerai selectionner une partie du code d'un fichier dans l'ordre d'avoir en sortie juste la partie demandé.
Code a selectionné :
<div style="nlklk">
<a href ="sqs.html" sjdksjdsj sdlk sjdsjd klsjdlk sdsd</a>
</div>
j'ai esseyé cela
egrep '^(<div)(.+)*[^\r\n](.+)*' test.php >> just.php
mais je n'est que la premiere ligne est UN saut de ligne vide
<div style="nlklk">
(un ligne vide ici)
Merci de m'aidé
Good friend do not let you do bad things ................................. alone !
Hors ligne
#2 Le 05/04/2011, à 18:40
- aduxas
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
j'ai esseyé cela
egrep '^(<div)(.+)*[^\r\n](.+)*' test.php >> just.php
Tu exclus les fins de ligne, je crois. Que penses-tu de ceci:
sed -n '/^<div/,/<\/div/p' fichier.html
Dernière modification par aduxas (Le 05/04/2011, à 18:42)
Hors ligne
#3 Le 05/04/2011, à 23:21
- anerty
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
Merci, ca marche impécablement
mais je ne comprend rien dans le systaxe, vous avez un cours pour m'aider a mettre a jour mon niveau ??
Cordialement
Good friend do not let you do bad things ................................. alone !
Hors ligne
#4 Le 06/04/2011, à 01:20
- aduxas
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
Un tutorial complèt de sed est ici.. Ma commande imprime toutes les lignes dans une fourchette donnée par deux expressions régulières.
Hors ligne
#5 Le 06/04/2011, à 21:35
- anerty
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
j'arrive pas a finir mon code :s
je ve telecharger un page en html, puis extraire juste une partie de code entre des span.
comment utilisé la commande sed pour :
1) extraire une partie du fichier determiné par deux code : ex : <div ... <a ...
2) suprimé tout le cadre du contenue, pour <div style="sdsd" onclick ...>test</div> =(avoir)=> test (seulement)
3) ajouter des truc avant est apres le contenue dont en as suprimé le cadre html, pour ajouter des <td>, <tr> ..
merci bcp
Good friend do not let you do bad things ................................. alone !
Hors ligne
#6 Le 07/04/2011, à 21:41
- aduxas
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
Je suppose que les deux sections sont imbriquees. Tu peux ecrire un fichier de commande sed, puis tu executes
sed -nf fichier_commande fichier.html
ou fichier_commande contient
:t
/<dev/,/<\/dev>/{
/<a>/,/<\/a>/{
/<\/a>/!{
N;
bt
}
s/^/inserer avant\n/
s/tabou[^\n]*\n//
a\
inserer apres
p
}
}
Ceci va extraire les sections <a>...</a> imbriquees dans une section <dev>...</dev>, inserer une ligne avant et une ligne apres, et enlever les lignes contenant le mot "tabou". Je ne suis pas expert en sed moi-meme, mais avant de comprendre le comment et pourquoi de ces lignes, je pense qu'une lecture rapide du manuel ou tutorial ne suffira pas...
Hors ligne
#7 Le 07/04/2011, à 23:02
- anerty
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
Merci boucoup pour la réponse, je vais l'utilisé pour généré un script bach ki prend que le fichier html en option et qui exporte un autre
merci boucoup encore, il ce peut que je revien sur le sujet si quelque chose me bloque.
cordialement
Good friend do not let you do bad things ................................. alone !
Hors ligne
#8 Le 08/04/2011, à 00:06
- aduxas
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
il ce peut que je revien sur le sujet si quelque chose me bloque.
Bien sûr. Je peux t'expliquer ce que j'ai fait si tu veux. Néanmoins, je pense qu'il vaut mieux passer à perl à un moment donné.
Hors ligne
#9 Le 08/04/2011, à 02:36
- anerty
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
perl j'en sais rien du tt, mé je suis un - peu - expert en PHP, je pense qu'en peut faire cela avec les gerex mes j'ai pas verifié.
quelques chose dans l'orde de charger le fichier puis de lire ligne par lign et applike klk preg_match, ...
que pensé vous ?
Good friend do not let you do bad things ................................. alone !
Hors ligne
#10 Le 08/04/2011, à 18:23
- aduxas
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
Je n'ai jamais entendu parler de gerex. Je ne connais pas PHP, mais s'il a un mode batch, comme c'est un preprocesseur html, ce serait mieux que sed. Si tout peut etre fait avec de simples operations, mon sed peut marcher. Le buffer contient plusieurs lignes, mais ne connait pas la notion de ligne elle-meme -- d'ou les manips avec "\n". C'est vrai, ca semble un peu primitif, mais le seuil d'apprentissage est assez bas.
Dernière modification par aduxas (Le 08/04/2011, à 18:23)
Hors ligne
#11 Le 08/04/2011, à 18:53
- anerty
Re : Probléme Regex PCRE pour selection avec saut de ligne inclus
pardon, c'est pas gerex mais c'est regex XD
oui, PHP contient des trucs pareil, je vais testé est voir si ca marche
Good friend do not let you do bad things ................................. alone !
Hors ligne