Perl regex Hexa Utf8
Résolu/Fermé
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
-
13 juin 2012 à 11:28
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 - 13 juin 2012 à 15:07
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 - 13 juin 2012 à 15:07
A voir également:
- Perl regex Hexa Utf8
- Editeur hexa - Télécharger - Édition & Programmation
- Denon perl pro test - Accueil - Audio
- Table ascii hexa - Guide
- Local-part of envelope rcpt address contains utf8 but remote server did not offer smtputf8 - Forum Mail
- Json_encode utf8 ✓ - Forum PHP
3 réponses
blux
Messages postés
26379
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 305
Modifié par blux le 13/06/2012 à 11:40
Modifié par blux le 13/06/2012 à 11:40
Salut,
les références arrière ?
A+ blux
les références arrière ?
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/\x{0627}\x{0644}(\3)(\4)/g;ou même
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/(\1)(\2)(\3)(\4)/g;Non testé, donc SGDG ;-)
A+ blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
D'abord MERCI blux, zipe31 & lami20j ( je ne doute pas...) !!!
de vous intéresser à mon pb, tout con (je suis découvert [blux] :-)))
Pardon zipe31 pour le mauvais choix de forum, et merci pour le transfert !
Voici ce que me retourne :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/(\1)(\2)(\3)(\4)/g;
C:\Arabe>perl ess.pl
\1 better written as $1 at ess.pl line 1892.
\2 better written as $2 at ess.pl line 1892.
\3 better written as $3 at ess.pl line 1892.
\4 better written as $4 at ess.pl line 1892.
Use of uninitialized value $3 in concatenation (.) or string at ess.pl line 1892
, <$fh> line 1.
Use of uninitialized value $4 in concatenation (.) or string at ess.pl line 1892
, <$fh> line 1.
Et dans le scrolled-text d'exécution :
http://cjoint.com/?BFnnJZ0CXui
Voici ce que me retourne :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/\x{0627}\x{0644}(\3)(\4)/g;
C:\Arabe>perl ess.pl
\3 better written as $3 at ess.pl line 1892.
\4 better written as $4 at ess.pl line 1892.
et dans le scrolled-text d'éxécution :
http://cjoint.com/?BFnnKMx4ogM
A titre info je n'ai pas de pb sur des transformations simples :
Encore MERCI !
de vous intéresser à mon pb, tout con (je suis découvert [blux] :-)))
Pardon zipe31 pour le mauvais choix de forum, et merci pour le transfert !
Voici ce que me retourne :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/(\1)(\2)(\3)(\4)/g;
C:\Arabe>perl ess.pl
\1 better written as $1 at ess.pl line 1892.
\2 better written as $2 at ess.pl line 1892.
\3 better written as $3 at ess.pl line 1892.
\4 better written as $4 at ess.pl line 1892.
Use of uninitialized value $3 in concatenation (.) or string at ess.pl line 1892
, <$fh> line 1.
Use of uninitialized value $4 in concatenation (.) or string at ess.pl line 1892
, <$fh> line 1.
Et dans le scrolled-text d'exécution :
http://cjoint.com/?BFnnJZ0CXui
Voici ce que me retourne :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/\x{0627}\x{0644}(\3)(\4)/g;
C:\Arabe>perl ess.pl
\3 better written as $3 at ess.pl line 1892.
\4 better written as $4 at ess.pl line 1892.
et dans le scrolled-text d'éxécution :
http://cjoint.com/?BFnnKMx4ogM
A titre info je n'ai pas de pb sur des transformations simples :
# Suppresion des voyelles courtes suivies de voyelles longues if ( $config{DEFAUT}{dia_2} == 1 ) { $Lig =~ s/\x{064E}\x{0627}/\x{0627}/go; # Supprime Fatha devant Alif ? $Lig =~ s/\x{064E}\x{0649}/\x{0649}/go; # Supprime Fatha devant Alif marsour ? $Lig =~ s/\x{0650}\x{064A}/\x{064A}/go; # Supprime Kasra devant Ya ? $Lig =~ s/\x{064F}\x{0648}/\x{0648}/go; # Supprime Damma devant Oua ? return $Lig; }
Encore MERCI !
blux
Messages postés
26379
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 305
13 juin 2012 à 14:05
13 juin 2012 à 14:05
Donc, tu as mis quoi, au juste ?
Ca marche ?
Ca marche ?
Pardon !
Non ça ne marche pas,
à l'exécution (lien vers ci-joint.com) non traduits ici :
ça intercale des ( ) ....
Non ça ne marche pas,
à l'exécution (lien vers ci-joint.com) non traduits ici :
ça intercale des ( ) ....
blux
Messages postés
26379
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 305
13 juin 2012 à 14:21
13 juin 2012 à 14:21
Il te suggère de remplacer les \1, \2 par des $1, $2...
Peux-tu essayer ?
Peux-tu essayer ?
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
13 juin 2012 à 14:39
13 juin 2012 à 14:39
C'est pareil,
j'ai porté $1 $2... dans la 1ère sugestion
$3 et $4 """"""""""""""""""""""""""""""""""""""""""
ET $1 à $4 dans la 2ème suggestion.
Pas mieux.
MERCI !
j'ai porté $1 $2... dans la 1ère sugestion
$3 et $4 """"""""""""""""""""""""""""""""""""""""""
ET $1 à $4 dans la 2ème suggestion.
Pas mieux.
MERCI !
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
13 juin 2012 à 14:55
13 juin 2012 à 14:55
STOP !!!!
RÉSOLU !!!!
blux :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/\x{0627}\x{0644}$1$2/g;
OK :
https://www.cjoint.com/?BFno3gLpCe7
J'avais laissé les parenthèses ($1) ($2)
D'autre part }$1$2
doivent être accolés sinon ajout d'espace dans la chaîne
Une super grand MERCI blux, zipe31...
RÉSOLU !!!!
blux :
$Lig =~ s/\x{0627}\x{0644}(.)(.)\x{0651}/\x{0627}\x{0644}$1$2/g;
OK :
https://www.cjoint.com/?BFno3gLpCe7
J'avais laissé les parenthèses ($1) ($2)
D'autre part }$1$2
doivent être accolés sinon ajout d'espace dans la chaîne
Une super grand MERCI blux, zipe31...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 416
13 juin 2012 à 14:57
13 juin 2012 à 14:57
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
13 juin 2012 à 15:07
13 juin 2012 à 15:07
$Lig =~ s/(\x{0627}\x{0644}..)\x{0651}/$1/g;
çà MARCHE IMPECCABLE !!!
ça va me servir pour des substitutions plus "compliquées"...
MERCI les gars vous êtes SUPER !!!
çà MARCHE IMPECCABLE !!!
ça va me servir pour des substitutions plus "compliquées"...
MERCI les gars vous êtes SUPER !!!
13 juin 2012 à 11:45
On ne peut pas regrouper le tout en une seule ?
Du style :
Modifié par blux le 13/06/2012 à 11:47
J'ai juste un doute sur les références arrières où je les vois affichées tantôt avec un $n, tantôt avec un \n...
13 juin 2012 à 11:53
Mais j'émets aussi des réserves sur ma conclusion ;-))
lami20j au secours ;-)))
13 juin 2012 à 11:56