2010-09-16 5 views
0

Je cherche une expression régulière pour obtenir le match "HELLO" et "WORLD" séparément lorsque l'entrée est une des opérations suivantes:Expression régulière pour chaîne de division

"HELLO", "WORLD" 
"HELL"O"", WORLD" 
"HELL,O","WORLD" 

J'ai essayé quelques combinaison, mais aucun d'entre eux semblent travailler pour tous les scénarios.

Je cherche à avoir mon code C# effectuer quelque chose comme ceci:

string pattern = Regex Pattern; 
// input here could be any one of the strings given above 
foreach (Match match in Regex.Matches(input, pattern)) 
{ 
    // first iteration would give me Hello 
    // second iteration would give me World 
} 

Répondre

4

Si vous en avez seulement besoin sur Hello and World, je suggère la réponse de Sebastian. C'est une approche parfaite à cela. Si vous mettez vraiment d'autres données là-dedans, et que vous ne voulez pas capturer Hello et World.

Voici une autre solution:

^([AZ \ "\,] +) [\" \, \ s] + ([AZ \ "\,] +) $

La seule La chose est, cela retournera BONJOUR et MONDE avec le "et, dans cela.

Ensuite, il nous à vous de faire un remplacement »et, rien dans les chaînes de sortie

Exemple:..

//RegEx: ^([A-Z\"\,]+)[\"\,\s]+([A-Z\"\,]+)$ 
    string pattern = "^([A-Z\"\\,]+)[\"\\,\\s]+([A-Z\"\\,]+)$"; 
    System.Text.RegularExpressions.Regex Reg = new System.Text.RegularExpressions.Regex(pattern); 

    string MyInput; 

    MyInput = "\"HELLO\",\"WORLD\""; 
    MyInput = "\"HELL\"O\"\",WORLD\""; 
    MyInput = "\"HELL,O\",\"WORLD\""; 

    string First; 
    string Second; 

    if (Reg.IsMatch(MyInput)) 
    { 
     string[] result; 
     result = Reg.Split(MyInput); 

     First = result[1].Replace("\"","").Replace(",",""); 
     Second = result[2].Replace("\"","").Replace(",",""); 
    } 

premier et deuxième SERAIT Bonjour et World

Si vous avez besoin d'aide supplémentaire, faites le moi savoir si vous avez besoin d'aide supplémentaire

2

Essayez ceci:

Regex.Match(input, @"^WORLD|HELL[""|O|,]?O[""|O|,]$").Success 
+0

C'est une réponse à la question: c'est un problème que beaucoup de programmeurs ont, ils répondent à l'utilisateur, mais l'utilisateur ne savait pas comment ajouter ss le programmeur. Mon cerveau dit "42". – GvS

Questions connexes