har en text som ser ut: 546018r5<verb>abonnera Tjo Du måste använda dig av (.*) för att matcha det som återstår efter >. Om ditt exempel visar hela strängen du testar på så räcker ju regexet >(.*)$ eftersom du bara är intresserad av det som kommer efter >. Hehe.Testade den koden.Den ger rätt ord men hur kommer jag åt nästa matching? Hej kör denna koden Dum jag var.Sorry.Regex problem
hur får jag ut bara texten abonnera?
Har testat med
<code>
[0-9]*[r]?[0-9]+[<][a-z]*[>]
</code>
Vilket markerar allt innan abonnera men jag vill ha det som är efter.Regexp skall var dynamiskt så det skall funka på 546018r5<verb>sabotera ocksåSv: Regex problem
Vad kodar du i för språk?
Ett exempel kan vara:
<code>
[0-9]*[r]?[0-9]+[<][a-z]*[>](.*)
</code>
Sedan får du hämta ut det inom parantesen där.
Hur det görs, beror på språket.Sv: Regex problem
För att hämta ut grupper (uttryck inslängt inom () ), så kan du exempelvis använda dig av "Groups" samlingen.
I ditt fall är det endast en match:
Regex reg = new Regex("[0-9]*[r]?[0-9]+[<][a-z]*[>](.*)");
String match = reg.Match("546018r5<verb>abonnera").Groups[1].ToString());
(Notera att Groups[0] motsvarar hela texten.)
Sv:Regex problem
Sv: Regex problem
Sv:Regex problem
Du kan använda dig av
foreach(Match m in reg.Matches("text_att_matcha")) {
...
}
/ Peter
Sv: Regex problem
Regex reg = new Regex("[0-9]*[r]?[0-9]+[<][a-z]*[>](.*)");
String match = reg.Match(sb.ToString()).Groups[1].ToString();
foreach (Match m in reg.Matches(sb.ToString()))
{
TextBox1.Text += m.Value;
}
strängen match ger mig rätt på första träffen.
m.Value ger mig "546018r5<verb>abonnera"
Hur kommer det sig det är ju samma Regex eller?
Sv:Regex problem
Hadde glömt ränsa textboxen innan jag körde foreach så lägstner så låg dom så finns så.
Tusen tack för hjälpen.