J'ai une question sur les expressions régulières .NET.expression régulière .NET trouver le numéro et le groupe le numéro
Maintenant, j'ai plusieurs chaînes dans une liste, il peut y avoir un certain nombre dans la chaîne, et la partie reste de la chaîne est la même, tout comme
string[] strings = {"var1", "var2", "var3", "array[0]", "array[1]", "array[2]"}
Je veux que le résultat est {"var$i" , "array[$i]"}
, et je un record du nombre qui enregistrent le nombre correspond, comme un dictionnaire
var$i {1,2,3} &
array[$i] {0, 1 ,2}
Je défini une expression régulière comme celui-ci
var numberReg = new Regex(@".*(<number>\d+).*");
foreach(string str in strings){
var matchResult = numberReg.Match(name);
if(matchResult.success){
var number = matchResult.Groups["number"].ToString();
//blablabla
Mais l'expression rationnelle ici semble ne pas fonctionner (jamais correspondre au succès), je suis nouveau chez regex, et je veux résoudre ce problème dès que possible.
BTW, il n'existe pas d'expression régulière C#. C# est le langage de programmation. Le framework est .NET, qui a des expressions régulières. –
Vous devriez jeter un coup d'œil au «Régulateur», un excellent outil pour apprendre à écrire des expressions régulières et faciliter la création de vos expressions. –