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

  FORUM HardWare.fr
  Programmation
  Java

  classe Pattern en utilisation internationale. [résoudu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

classe Pattern en utilisation internationale. [résoudu]

n°311311
TBone
Pouet.
Posté le 17-02-2003 à 15:58:46  profilanswer
 

'lut,
 
j'utilise la classe java.util.regex.Pattern avec succès la plupart du temps mais là je coince sur un cas particulier.
 
je désire détecter des patterns en mode word; càd que je ne m'intéresse qu'aux mots pouvant répondre à ces patterns: "riz" par exemple doit détecter le mot "riz" et pas le groupe de lettres r-i-z dans "rizière".
 
j'utilise pour cela le Word Boundary "\b" de la catégorie Boundary Matcher (Javadoc de Pattern) ce qui donne: "\briz\b"
 
ça marche plutôt bien mais en apparemment , en anglais le caractère '-' est considéré comme un caractère séparateur de mots... pas en français.
 
si je veux remplacer "toto" par "bidule" dans la phrase "titi-toto toto", je vais obtenir "titi-bidule bidule"... ce qui n'est pas correct pour mon programme.
 
en effet, je voudrais qu'il ne me détecte pas le premier "toto" et je voudrais donc obtenir: "titi-toto bidule"
 
ma question: comment faire pour internationaliser la classe Pattern ? je cherchais un moyen de spécifier la localisation mais sans succès...
 
question subsidiaire: si il n'y a pas moyen d'internationaliser Pattern, comment puis-je faire pour retirer le '-' de la classe de détection "\b"
 
pour être complet, avant de découvrir "\b", j'utilisais " ,;:.!\?'\(\)" ce qui fonctionnait assez bien (malgré une bidouille nécessaire).
 
j'utilise depuis "\b" car il réagit beaucoup mieux aux bords des chaînes de caractères et m'évite des entorses de code.
 
qq'un peut-il m'aider ?


Message édité par TBone le 19-02-2003 à 16:50:00

---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
mood
Publicité
Posté le 17-02-2003 à 15:58:46  profilanswer
 

n°311336
BifaceMcLe​OD
The HighGlandeur
Posté le 17-02-2003 à 16:15:48  profilanswer
 

Ouvre un bug dans la BugParade de Sun ?

n°311363
--greg--
Posté le 17-02-2003 à 16:34:15  profilanswer
 

tu fais bien "\\b" hein?
 
sinon ben peut etre qqchose comme
"[\t\n\r]toto[\t\n\r]"
(mais je suis une brele en regex :ange:)
 
edit: euh ouais j'ai relu ton post, oublie ma proposition  :ange:


Message édité par --greg-- le 17-02-2003 à 16:34:46

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°311367
--greg--
Posté le 17-02-2003 à 16:37:25  profilanswer
 

"[\b^-]toto[\b^-]" ? :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°311369
TBone
Pouet.
Posté le 17-02-2003 à 16:39:14  profilanswer
 

BifaceMcLeOD a écrit :

Ouvre un bug dans la BugParade de Sun ?


je n'y pensais pas mais maintenat que tu le dis, je me demande si je suis assez "qualifié" pour me permettre de lister un bug chez Sun...  :sweat:  
 
j'vais en tout cas aller voir si ce bug n'est pas encore remonté.
 
:jap:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°311372
TBone
Pouet.
Posté le 17-02-2003 à 16:40:34  profilanswer
 

--greg-- a écrit :

"[\b^-]toto[\b^-]" ? :)


j'avais essayé [\b-] et ça merdouillait.
le temps de lancer le brol et je reposte.
 
:jap:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°311378
--greg--
Posté le 17-02-2003 à 16:45:51  profilanswer
 

dans une doc/resumé des regex que j'ai ça dit  
 
 

Citation :

\b Boundary This matches a word boundary, either a beginning \w character, an ending \w character, or one of these two sequences: \w\W, \W\w.

 
 
et pour "\w"
 

Citation :

\w Bracket A word character, essentially the same as [a-zA-Z_0-9]

 
 
ce qui laisse entendre que tout autre char qu'une lettre, un chiffre ou le "_" doit etre considéré comme separateur de mot... je sais pas si on peut incriminer java sur ce coup là, vu que ça vient de la "norme" regex (perl ou autre.??)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°311387
TBone
Pouet.
Posté le 17-02-2003 à 16:55:22  profilanswer
 

TBone a écrit :


j'avais essayé [\b-] et ça merdouillait.
le temps de lancer le brol et je reposte.
 
:jap:


 
\b ne supporte pas être dans un test...
 

Code :
  1. cd@asus enhancer $ java -cp $CLASSPATH:. RegExp "[\b^-]t[iou]t[iou][\b^-]" "toto-titi tutu"
  2. Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal/unsupported escape squence near index 2
  3. [\b^-]t[iou]t[iou][\b^-]
  4.   ^
  5.         at java.util.regex.Pattern.error(Pattern.java:1472)
  6.         at java.util.regex.Pattern.escape(Pattern.java:1900)
  7.         at java.util.regex.Pattern.range(Pattern.java:2027)
  8.         at java.util.regex.Pattern.clazz(Pattern.java:1991)
  9.         at java.util.regex.Pattern.sequence(Pattern.java:1529)
  10.         at java.util.regex.Pattern.expr(Pattern.java:1489)
  11.         at java.util.regex.Pattern.compile(Pattern.java:1257)
  12.         at java.util.regex.Pattern.<init>(Pattern.java:1013)
  13.         at java.util.regex.Pattern.compile(Pattern.java:760)
  14.         at RegExp.<init>(RegExp.java:19)
  15.         at RegExp.main(RegExp.java:64)


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°311389
--greg--
Posté le 17-02-2003 à 16:56:49  profilanswer
 

euh ben ouais, "[\\b^-]" plutot hein :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°311392
BifaceMcLe​OD
The HighGlandeur
Posté le 17-02-2003 à 17:00:35  profilanswer
 

TBone a écrit :


je n'y pensais pas mais maintenat que tu le dis, je me demande si je suis assez "qualifié" pour me permettre de lister un bug chez Sun...  :sweat:  
 
j'vais en tout cas aller voir si ce bug n'est pas encore remonté.
 
:jap:


En fait, ce n'est pas vraiment un bug, mais une amélioration. Jusqu'à présent, l'internationalisation était très mal gérée par la plupart des applications, et peu de gens s'intéressaient à ce problème. Java a rendu tout ça très simple, et, du coup, des tas de nouveaux problèmes apparaissent tout simplement parce que d'autres composants "classiques" ne sont absolument pas prévus pour cela. Typiquement, les expressions régulières, dont les utilisateurs ont jusqu'à présent toujours accepté de se voir imposer les règles syntaxiques de l'anglais.

mood
Publicité
Posté le 17-02-2003 à 17:00:35  profilanswer
 

n°311394
TBone
Pouet.
Posté le 17-02-2003 à 17:02:17  profilanswer
 

--greg-- a écrit :

euh ben ouais, "[\\b^-]" plutot hein :)


non, pas en ligne de commande ;)
 
le "\\b" c'est quand tu écris "\b" dans un String Java ;)


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°311395
TBone
Pouet.
Posté le 17-02-2003 à 17:04:04  profilanswer
 

BifaceMcLeOD a écrit :


Typiquement, les expressions régulières, dont les utilisateurs ont jusqu'à présent toujours accepté de se voir imposer les règles syntaxiques de l'anglais.


c'est ce que j'ai dit ce matin à mon boss technique par mail :jap:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°311436
TBone
Pouet.
Posté le 17-02-2003 à 17:48:42  profilanswer
 

BifaceMcLeOD a écrit :

Ouvre un bug dans la BugParade de Sun ?


je n'ai rien trouvé... (mais c'est a première fois que j'utilise leur interface, j'ai p-ê mal cherché)
 
quoiqu'il en soit, j'ai posté une question dans un thread discutant de ce "word boundary".
 
:hello:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°313193
TBone
Pouet.
Posté le 19-02-2003 à 16:16:21  profilanswer
 

après qques lectures intéressantes et une discussion avec un dév. sur java.sun.com "\bt[iou]t[iou]\b" est devenu "\\b(?<!-)t[iou]t[iou](?!-)\\b"
 
et là ça marche...
 
:hello: et :jap:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°313200
BifaceMcLe​OD
The HighGlandeur
Posté le 19-02-2003 à 16:21:06  profilanswer
 

Tu peux détailler, s'il te plait ? Ou mettre un lien sur votre discussion : je serais curieux de comprendre.  :)

n°313215
--greg--
Posté le 19-02-2003 à 16:32:03  profilanswer
 

BifaceMcLeOD a écrit :

Tu peux détailler, s'il te plait ? Ou mettre un lien sur votre discussion : je serais curieux de comprendre.  :)  

pareil
cte regex de sauvage :ouch:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°313243
TBone
Pouet.
Posté le 19-02-2003 à 16:49:01  profilanswer
 

c'est sûr, c'est une regexp que je n'ai pas encore tout à fait comprise (il l'a expliqué brièvement.)
 
le discussion n'est pas très technique, il m'a juste (très bien) aidé en me filant des RegExp à tester: http://forum.java.sun.com/thread.j [...] ead=347712  
 
à partir de la "reply 5"


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.

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

  classe Pattern en utilisation internationale. [résoudu]

 

Sujets relatifs
Convertir une classe String en int ???Problème d'importation de classe d'une DLL
Design Pattern, je cherche un bouquinProbleme heritage classe
[HTML] Précharger des images pour l'utilisation de onmouseover / out[C,C++] de l'utilisation des iterateurs avec la STL ??
Design pattern[C++]Utilisation de ADO en VISUAL C++
Question utilisation d'un lexique (en html)array dans une classe?
Plus de sujets relatifs à : classe Pattern en utilisation internationale. [résoudu]


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