expression régulière [JAVA][RESOLU] - Java - Programmation
Marsh Posté le 08-11-2004 à 11:11:18
Donne un exemple concret car selon ce que j'ai compris, je ne pense pas que tu puisse faire ton remplacement avec juste un replaceAll
Marsh Posté le 08-11-2004 à 11:14:20
exemple : 
maSousChaine = "i*u" ; 
maChaine = "voiture" ; 
 
je veux que maChaine.matches(maSousChaine) réponde true 
 
Pour cela , il faut que maSousChaine soit i(.)*u et non i*u 
 
D'ou l'idée du : maSousChaine = maSousChaine.replaceAll("*","(.)*" );  
 
qui ne fonctionne pas 
 
Marsh Posté le 08-11-2004 à 11:23:03
Ok. C'est plus claire : 
Pour despécialiser un caractere joker d'expression réguluière il faut le précédent d'un \. 
| Code : 
 | 
Marsh Posté le 08-11-2004 à 11:03:45
Je veux vérifier qu'une chaine est dans une autre avec une expression
 
  
régulière
je fait :
maChaine.matches(maSousChaine)
Le problème est qu'il faut remplecer les * de maSousChaine par (.)*
pour que cela fonctionne bien.
Or, pour faire ce remplacement, je pensais faire :
maSousChaine = maSousChaine.replaceAll("*","(.)*" );
Mais cela génère une exception, car le 1er argument de replaceAll est aussi une expression régulière
Comment puis-je faire ?
Message édité par no_code le 08-11-2004 à 11:31:23