Regexp: recherche chaine de caractere ne marche pas !!
5 réponses
lepetitjoe
Allo tous
j=B4ai un probleme:
je n=B4arrive pas a resortir une suite de caracteres bien pr=E9cise afin
de poser une condition.
Par exemple, mon fichier a ces caracteres suivant que je lis:
je lis du fichier A pour copier dans le fichier B si $_ contient
"erx4:e4_vr1"
je voudrai qu=B4il ne copie a chaque fois que erx4:e4_vr1 et non
erx4:e4_vr[B]11[/B] ou erx4:e4_vr[B]13 [/B]ou erx4:e4_vr[B]10[/B].....
Chacun sera copi=E9 dans son fichier a lui en fonction du contenu de ma
variable de recherche qe j=B4appele $texte qui contient a chaque passage
de boucle l=B4un de ces mots cl=E9s la...
mon code: [CODE]
//$texte contient par exemple erx4:e4_vr1, j=B4ai fait un test en
l=B4affichant et il contient effectivement erx4:e4_vr1
while (<File>){
print FH $_ if $_ =3D~ /$texte/;
}
[/CODE]
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11
,13,10....
je ne veux que les lignes avec erx4:e4_vr[B]1[/B]
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lepetitjoe
je renvoie le Post rectifié:
j´ai un probleme:
je n´arrive pas a resortir une suite de caracteres bien précise afin de poser une condition. Par exemple, mon fichier a ces caracteres suivant que je lis:
je lis du fichier A pour copier dans le fichier B si $_ contient "erx4:e4_vr1" je voudrai qu´il ne copie a chaque fois que erx4:e4_vr1 et non erx4:e4_vr11 ou erx4:e4_vr13 ou erx4:e4_vr10.....
Chacun sera copié dans son fichier a lui en fonction du contenu de ma variable de recherche qe j´appele $texte qui contient a chaque passage de boucle l´un de ces mots clés la...
mon code: //$texte contient par exemple erx4:e4_vr1, j´ai fait un test en l´affichant et il contient effectivement erx4:e4_vr1
while (<File>){
print FH $_ if $_ =~ /$texte/;
}
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11 ,13,10.... je ne veux que les lignes avec erx4:e4_vr1
Merci de m´aider...
je renvoie le Post rectifié:
j´ai un probleme:
je n´arrive pas a resortir une suite de caracteres bien précise afin
de poser une condition.
Par exemple, mon fichier a ces caracteres suivant que je lis:
je lis du fichier A pour copier dans le fichier B si $_ contient
"erx4:e4_vr1"
je voudrai qu´il ne copie a chaque fois que erx4:e4_vr1 et non
erx4:e4_vr11 ou erx4:e4_vr13 ou erx4:e4_vr10.....
Chacun sera copié dans son fichier a lui en fonction du contenu de ma
variable de recherche qe j´appele $texte qui contient a chaque passage
de boucle l´un de ces mots clés la...
mon code:
//$texte contient par exemple erx4:e4_vr1, j´ai fait un test en
l´affichant et il contient effectivement erx4:e4_vr1
while (<File>){
print FH $_ if $_ =~ /$texte/;
}
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11
,13,10....
je ne veux que les lignes avec erx4:e4_vr1
je n´arrive pas a resortir une suite de caracteres bien précise afin de poser une condition. Par exemple, mon fichier a ces caracteres suivant que je lis:
je lis du fichier A pour copier dans le fichier B si $_ contient "erx4:e4_vr1" je voudrai qu´il ne copie a chaque fois que erx4:e4_vr1 et non erx4:e4_vr11 ou erx4:e4_vr13 ou erx4:e4_vr10.....
Chacun sera copié dans son fichier a lui en fonction du contenu de ma variable de recherche qe j´appele $texte qui contient a chaque passage de boucle l´un de ces mots clés la...
mon code: //$texte contient par exemple erx4:e4_vr1, j´ai fait un test en l´affichant et il contient effectivement erx4:e4_vr1
while (<File>){
print FH $_ if $_ =~ /$texte/;
}
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11 ,13,10.... je ne veux que les lignes avec erx4:e4_vr1
Merci de m´aider...
F. Senault
while (<File>){
print FH $_ if $_ =~ /$texte/;
}
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11 ,13,10.... je ne veux que les lignes avec erx4:e4_vr1
Normal - ces lignes contiennent bien cette valeur. Essaye d'encadrer ton expression de b (qui détecte une début / fin de mot) :
print FH $_ if $_ =~ /b$texteb/;
Fred -- All we need to do is make sure we keep talking Why won't you talk to me I feel like I'm drowning You never talk to me You know I can't breathe now What are you thinking We're going nowhere What are you feeling We're going nowhere (Pink Floyd, Keep Talking)
while (<File>){
print FH $_ if $_ =~ /$texte/;
}
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11
,13,10....
je ne veux que les lignes avec erx4:e4_vr1
Normal - ces lignes contiennent bien cette valeur. Essaye d'encadrer
ton expression de b (qui détecte une début / fin de mot) :
print FH $_ if $_ =~ /b$texteb/;
Fred
--
All we need to do is make sure we keep talking
Why won't you talk to me I feel like I'm drowning You never talk to me
You know I can't breathe now What are you thinking We're going nowhere
What are you feeling We're going nowhere (Pink Floyd, Keep Talking)
Mon probleme il prend aussi les lignes contenant erx4:e4_vr11 ,13,10.... je ne veux que les lignes avec erx4:e4_vr1
Normal - ces lignes contiennent bien cette valeur. Essaye d'encadrer ton expression de b (qui détecte une début / fin de mot) :
print FH $_ if $_ =~ /b$texteb/;
Fred -- All we need to do is make sure we keep talking Why won't you talk to me I feel like I'm drowning You never talk to me You know I can't breathe now What are you thinking We're going nowhere What are you feeling We're going nowhere (Pink Floyd, Keep Talking)