France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 511 membres enregistrés - 2 069 318 posts - 122 026 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Sujets divers
                [java] [RESOLU] regx sur une "String"
56 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
[java] [RESOLU] regx sur une "String"

Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 07 September 2005 - 17 h 52 m 54 s
Bonjour,

J'aimerais tester si une chaine commence par '#".

    Code java    
1. String sMaChaine = "# Blabla un commentaire";
2. 
3. if (sMaChaine.matches("^\\s*#") {
4.     System.out.println("Commence par 0 ou plusieurs caracteres d'espacement puis un #");
5. }


Ne marche pas.
Sur les conseils de Kha dans un autre post, je l'ai testé avec Regex-coach et là ça marche. Ou est l'erreur en Java? De meme j'ai utilisé "^\\s$" pour rechercher les lignes blanches sans succès.


Message édité 1 fois, la dernière par Gosseyn le 09 September 2005 - 08 h 34.

"Si vous perdez, ne perdez pas la leçon."
Gosseyn


gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 114
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 07 September 2005 - 19 h 26 m 38 s
Franchement, j'ai beau essayer de voir ce qu'il ne va pas, je ne vois pas l'erreur :chepa:

La regexp m'a l'air correcte pour ce que tu cherches (d'ailleurs si Regex-coach l'a validée, c'est pas pour rien...)

Peut-être essaie avec Pattern.matches("^\\s*#", sMaChaine) ?




" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 114
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 07 September 2005 - 19 h 30 m 00 s
Sinon, au pire, essaie un sMaChaine.split(ta_regex) ?



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 07 September 2005 - 20 h 16 m 54 s


Le 07 septembre 2005 - 17 h 52, Gosseyn a écrit :
Bonjour,

J'aimerais tester si une chaine commence par '#".

    Code java    
1. String sMaChaine = "# Blabla un commentaire";
2. 
3. if (sMaChaine.matches("^\\s*#") {
4.     System.out.println("Commence par 0 ou plusieurs caracteres d'espacement puis un #");
5. }



Ton expression marche pas avec regexp coach ! Mais celle si marche : \s*\#\s.*




Ne marche pas.
Sur les conseils de Kha dans un autre post, je l'ai testé avec Regex-coach et là ça marche. Ou est l'erreur en Java? De meme j'ai utilisé "^\\s$" pour rechercher les lignes blanches sans succès.




kha
Google is your best friend

Messages : 1 236
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 07 September 2005 - 20 h 17 m 50 s


Le 07 septembre 2005 - 20 h 16, kha a écrit :


Le 07 septembre 2005 - 17 h 52, Gosseyn a écrit :
Bonjour,

J'aimerais tester si une chaine commence par '#".

    Code java    
1. String sMaChaine = "# Blabla un commentaire";
2. 
3. if (sMaChaine.matches("^\\s*#") {
4.     System.out.println("Commence par 0 ou plusieurs caracteres d'espacement puis un #");
5. }



Ne marche pas.
Sur les conseils de Kha dans un autre post, je l'ai testé avec Regex-coach et là ça marche. Ou est l'erreur en Java? De meme j'ai utilisé "^\\s$" pour rechercher les lignes blanches sans succès.




Ton expression marche pas avec regexp coach ! Mais celle si marche : \s*\#\s.*





Gosseyn


Messages : 286
Inscrit le 24/01/05
Ville : Grenoble
Non connecté
  Posté le 08 September 2005 - 09 h 00 m 12 s
effectivement, "^\s*#.*" marche. Cela voudrait dire que la methode String.matches renvoit true si, et seulement si, TOUTE la chaine est validée par la regex?
Je suis un peu mongueur (j'ai pas mal travaillé avec Perl) et
( string ~= "^\s*#")
renvoit true pour TOUTES les chaines commançant par 0 ou plusieurs carateres d'espacement puis un '#".

Corrigez moi si je me trompe mais en Java il faut dire:
Tout ce qui commence par 0 ou plusieurs caracteres d'espacement suivi par un '#", PUIS SUIVI PAR RIEN OU N'IMPORTE QUOI.

Par conséquent il faudrait faire suivre toutes les regex par ".*"?

Kha: Nul besoin de fournir des copies d'ecran, je te crois sur paroles ;-)



"Si vous perdez, ne perdez pas la leçon."
Gosseyn


iraysyvalo
-

Messages : 9 647
Inscrit le 19/11/02
Ville : Lyon
Non connecté
  Posté le 08 September 2005 - 09 h 33 m 31 s

C'est con si c'est le cas !! Puisqu'on ne veut pas du reste !




Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.


Page genérée en 0.1149 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory