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