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

  FORUM HardWare.fr
  Programmation
  Perl

  expression régulière avec perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expression régulière avec perl

n°2301429
rim_enis
j'aime ENIS
Posté le 01-06-2017 à 16:03:47  profilanswer
 

Bonjour,
 
Je débute avec les expressions régulières:  
 
pour une phrase contenant des lettres arabes, français, des chiffres et des autres caractères comme par exemple : / //  
je veux garder dans cette phrase que les lettres arabes, latins les chiffres et les espaces , par exemple pour la phrase : صحيح البخاري//كتاب بدء الوحي 2 - :titre  
je veux : صحيح البخاري كتاب بدء الوحي 2 titre  
 
voici le regex que j'ai fait:  
 

Code :
  1. $line =~ s/[^\p{Arabic}\p{Latin}\d]/ /g;

 
 
pourquoi cette expression est fausse ?  
 
merci d'avance

mood
Publicité
Posté le 01-06-2017 à 16:03:47  profilanswer
 

n°2301442
gilou
Modérateur
Modzilla
Posté le 02-06-2017 à 11:22:03  profilanswer
 

Chez moi, ceci:

Code :
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use autodie;
  5.  
  6. # Pour virer la BOM utf8 (inutile mais hélas mise par MS-Windows, et qui s'incruste au premier mot du corpus).
  7. use File::BOM qw(open_bom);
  8.  
  9. open_bom my $fh, 'testperl.txt';
  10. open my $gh, '>:utf8', 'testresult.txt';
  11. while (<$fh> ) {
  12.     s/[^\p{Arabic}\p{Latin}\d]/ /g;
  13.     s/\s+/ /g;
  14.     print $gh $_;
  15. }
  16. close $gh;
  17. close $fh;


avec ceci en entrée:
صحيح البخاري//كتاب بدء الوحي 2 - :titre
donne en résultat:
صحيح البخاري كتاب بدء الوحي 2 titre
La regexp est donc bonne.
Donc le problème vient sans doute de ton jeu de caractères en entrée, qui n'est ni de l'utf8, ni de l'ascii, et il va donc te falloir transcoder avant pour pouvoir appliquer ta regexp.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2301548
rim_enis
j'aime ENIS
Posté le 04-06-2017 à 01:51:42  profilanswer
 

Merci gilou :)


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

  expression régulière avec perl

 

Sujets relatifs
supprimer retour à la ligneperl et fichier XML
comparaison string perl[Perl] Arrêt traitement si doublons dans champ d'un fichier
perl et page internetCorrespondance d'une expression régulière
[perl] passer une variable a une expression regulierePerl: expression reguliere
[PHP/PERL] expression régulière : apostrophe[Perl]expression régulière
Plus de sujets relatifs à : expression régulière avec perl


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