2011-03-02 3 views
0

J'ai un code ci-dessous que j'essaie d'utiliser pour faire correspondre le début et la fin d'une chaîne où le milieu peut changer. Je suis d'abord essayer de faire fonctionner cet exemple pourrait quelqu'un s'il vous plaît dites-moi l'erreur avec ce code et pourquoi il ne correspond pas du tout.Regex ne correspond pas à la chaîne

 string pattern = @"/\/>[^<]*abc/"; 
     string text = @"<foo/> hello first abc hello second abc <bar/> hello third abc"; 
     Regex r = new Regex(pattern, RegexOptions.IgnoreCase); 
     Match m = r.Match(text); 
+2

Qu'est-ce que vous essayez de capturer? Je ne suis pas sûr que je l'obtiens de votre regex fourni. Aussi, l'obligatoire [ne pas analyser xml/html avec regex] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) –

+0

S'il vous plaît ne pas commencer une nouvelle question immédiatement, j'ai déjà répondu à votre question dans votre question initiale. – markijbema

Répondre

3

Vous n'avez pas besoin délimiteurs, en C# que vous venez de spécifier le Regex:

string pattern = @"\/>[^<]*abc"; 


    string text = @"<foo/> hello first abc hello second abc <bar/> hello third abc"; 


    Regex r = new Regex(pattern, RegexOptions.IgnoreCase); 


    Match m = r.Match(text); 
1

Si seule la partie centrale de la chaîne en question est sujette à changement, alors pourquoi ne pas utiliser String.StartsWith et String.EndsWith? Par exemple:

var myStringPrefix = "prefix"; 
var myStringSuffix = "suffix"; 
var myStringTheChangeling = "prefix random suffix"; 

if (myStringTheChangeling.StartsWith(myStringPrexix) && 
    myStringTheChangeling.EndsWith(myStringSuffix)) 
{ 
    //good to go... 
} 
+0

La regex n'utilise pas^et $, par conséquent, elle n'a pas besoin de correspondre à la chaîne entière, et la correspondance n'a pas besoin d'être au début et à la fin de la chaîne. – markijbema

+0

Peut-être que je suis stupide, mais j'ai lu ''... essayant d'utiliser pour faire correspondre le début et la fin d'une chaîne où le milieu peut changer' '. –

Questions connexes