Hey Leute,
ich möchte, dass mein regulärer Ausdruck eine Zeichenkette nach allen Übereinstimmungen mit dem Suchmuster durchsucht.
Beispiel:
Zeichenkette: abc 123 ade 456 afg 789
Pattern: a([a-z]{2})
Match[0]: abc
Match[1]: ade
Match[2]: afg
Um das ganze auf den Punkt zu bringen, ich lese eine Homepage in ein String ein und möchte jeweils alle Bildernamen erhalten, ich matche also vereinfacht auf <img src="(.+)"> und möchte alle Treffer zurückbekommen.
Danke für eure Hilfe
Thomas
we love C#...
Hallo masta // thomas.
mach eine Schleife über Match.Success/Match.NextMatch.
herbivore
Danke herbivore
Den Gedanken hatte ich Anfangs auch, dachte, es gäbe vielleicht bereits eine Methode für.
Kannst du mir nur sagen, warum ich stets nur die "1" rausbekomme? [ich bin quasi in ner Endlosschleife drin]
string text = @"test1.jpg
test2.jpg
test3.jpg
test4.jpg";
Regex r = new Regex("test(?<num>\\d{1}).jpg", RegexOptions.Multiline);
Match m = r.Match(text);
while (m.Success)
{
m.NextMatch();
MessageBox.Show(m.Groups["num"].Value);
}
we love C#...
Hallo masta // thomas,
es gäbe vielleicht bereits eine Methode für.
Gibt es auch: Regex.Matches
ich bin quasi in ner Endlosschleife drin
m = m.NextMatch();
herbivore
hey
nochmal danke 😉 wollte grad editieren, hab nämlich selbst gemerkt, dass ich mich bisschen blöd angestellt habe... falls es jemanden sonst interessiert...
string text = @"test1.jpg
test2.jpg
test3.jpg
test4.jpg";
Regex r = new Regex("test(?<num>\\d{1}).jpg", RegexOptions.Multiline);
Match m = r.Match(text);
while (m.Success)
{
m = m.NextMatch();
MessageBox.Show(m.Groups["num"].Value);
}
und ich schau mir mal Regex.Matches an!
Dankeschön
[ EDIT ]
die variante gefällt mir glaube ich noch besser , obwohl ich nicht weiß, welche der beiden performanter ist...
string text = @"test1.jpg
test2.jpg
test3.jpg
test4.jpg";
Regex r = new Regex("test(?<num>\\d{1}).jpg", RegexOptions.Multiline);
MatchCollection m = r.Matches(text);
for (int i = 0; i < m.Count; i++)
MessageBox.Show(m[i].Groups["num"].Value);
we love C#...
Hallo masta // thomas,
performancemäßig das dürfte relativ egal sein - zumal in beiden Schleifen das Wegklicken der Messageboxen die Performancebremse sein wird. 🙂
herbivore
nja... da wirst du recht haben g jetzt wo du es sagst - eine blöde angewohneit 😉
übrigens wollte ich angemerk haben, dass die community echt top ist - nicht nur vom inhalt her sondern auch vom know-how und von den menschen hier. 👍
we love C#...