Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2781 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  perl + regex [resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

perl + regex [resolu]

n°791753
ishaor
Posté le 09-07-2004 à 16:26:44  profilanswer
 

Bonjour,
voici un bout de code en perl
 

Code :
  1. $text = "62.184.44.2 ServerBanner %KeyList=[Port,Protocol,ServerName] %Reference=\"NSA.ServerBanner.telnet.TCP\" Port=23 Protocol=\"TCP\" ServerName=\"telnet\"";
  2. $text =~ s/%[A-Za-z]*\s/\s/;
  3. print "text=".$text;


 
j'aimerai remplacer les chaines %[du texte][un espace] par un espace ( en gros je veux les effacer de la phrase ).
J'ai donc fait cette regexp mais elle ne filtre rien ... qq'un voit il mon erreur ?
 
Merci d'avance pour vos réponses


Message édité par ishaor le 12-07-2004 à 15:39:26
mood
Publicité
Posté le 09-07-2004 à 16:26:44  profilanswer
 

n°792095
pospos
Posté le 09-07-2004 à 21:30:46  profilanswer
 

C'est koi exactement ce que tu veut virer dans ton exemple?
"%KeyList" et "%Reference" ?
 
la avec ton expression tu va supprimer tout ce qui commence par un %, ne contenant rien ou que des lettres (tu peux remplacer [A-Za-z] par \w et mettre le modfier i à la fin d'ailleurs), et finissant par un espace.
 
Et dans ton exemple il n'y a rien qui corresponde à ce motif

n°792272
burgergold
5$? va chez l'diable!
Posté le 10-07-2004 à 04:16:24  profilanswer
 

s/%\w\s/ /g
 
non?


---------------
http://www.boincstats.com/signature/user_664861.gif
n°793149
ishaor
Posté le 11-07-2004 à 23:00:47  profilanswer
 

je veux effacer chaque mot qui commence par un %. Par exemple je veux effacer en entier %KeyList=[Port,Protocol,ServerName].
Je vais essayer vos solutions.
Merci de votre aide

n°793150
burgergold
5$? va chez l'diable!
Posté le 11-07-2004 à 23:02:45  profilanswer
 

bon bin tu veux pas le remplacer par un espace
 
alors c'est plutot
 
$foo =~ s/^%\w=.*$//g;
 
ca l'espace les lignes qui débute par %trucmachin=


---------------
http://www.boincstats.com/signature/user_664861.gif
n°793168
ishaor
Posté le 12-07-2004 à 00:06:24  profilanswer
 

bon j'ai testé mais ca marche pas :(
comprends pas ... c'est pourtant tout con ce que je veux faire ...

n°793330
Charlux
Posté le 12-07-2004 à 10:31:20  profilanswer
 

Un peu complexe
$text = s/%.*=\[.*\]/ /g
 
Plus simple, mais peut-être top simple pour que ça marche
$text = s/%.* / /g

n°793681
ishaor
Posté le 12-07-2004 à 15:38:43  profilanswer
 

la bonne réponse était :  
$ligne =~ s/%\S*\s//g;
 
merci à tous.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  perl + regex [resolu]

 

Sujets relatifs
[Python] TypeError sur une concaténation de chaines [Résolu]Interdire des requêtes dans un input...[RESOLU]
Page d'attente pour moteur de recherche [résolu][Résolu] [Regex] reconnaitre une chaîne non complète - java
[RESOLU] [javascript] superposition d'images[Résolu] [Ecommerce] [Tomcat - config] [Libriaries jar] Servlet Atos
IntToStr[resolu][PHP][Résolu] Probleme avec getdate() et le mois d'octobre !
besoin d'aide en perl 
Plus de sujets relatifs à : perl + regex [resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR