Regex

Résolu
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 10 avril 2006 à 14:58
dgouttegattat Messages postés 129 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 30 décembre 2007 - 10 avril 2006 à 17:30
Salut j'ai besoin de rechercher cette chaine de caractère dans un fichier mais ca me renvoi toujours faux
Quelqu'un aurait-il une solution????

voila mon code


public
static
string pattern =
"http://www.site.com/Shelf/article.asp?PRID=";


if (
Regex.IsMatch(line, pattern))
{
//traitement
}

merci

4 réponses

yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 avril 2006 à 15:13
c'est bon j'ai trouvé en fait il considère les points et ? comme des métacaractères et pas des caractères de la chaine il faut donc ecrire comme ça


public
static string pattern_alb =
@"http://www[\.]site[\.]com/Shelf/article[\.]asp[\?]PRID="

pour qu'il comprenne que l'expression contient bien . et ?

merci pour ton aide Nikoui
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
10 avril 2006 à 15:02
En remplaçant :

public
static
string pattern =
"http://www.site.com/Shelf/article.asp?PRID=";

par :

public
static
string pattern =
@"http://www.site.com/Shelf/article.asp?PRID=";

ca marche mieux? (ou en doublant tous les '\')
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 avril 2006 à 15:08
ca change rien c toujours pareil
0
dgouttegattat Messages postés 129 Date d'inscription mardi 22 novembre 2005 Statut Membre Dernière intervention 30 décembre 2007 3
10 avril 2006 à 17:30
Bonjour yanis7518,
Dans ton cas il n'est pas nécessaire d'utiliser les crochets, tu peux écrire directement:
public static string pattern_alb = @http://www\.site\.com/Shelf/article\.asp\?PRID=;
L'antislash suffit à faire d'un métacaractère un caractère normal. En fait, avec [\.], tu demandes un caractère qui appartiennent à une classe de caractères ne comprenant que le caractère point ; donc ça marche, mais tu compliques inutilement la tâche.
0
Rejoignez-nous