15. maj 2006 - 17:47Der er
10 kommentarer og 1 løsning
regex find alle <tr> tags
Kan nogen give mig reularexpression til at finde indholdet af alle <tr> tags. Den skal selvfølgelig kunne tage både <tr>, <TR>, <tr colspan ell. lig> osv. Jeg ved godt at der findes tools og det har jeg haft gang i, så det er ikke henviosninger til den slags tools jeg er interesseret i. Det nærmest jeg kommer det er noget lign dette her: <(?<tag>tr)[^>]*>(?<text>.*)</\k<tag>> men det virker ikke helt.
using System; using System.Text.RegularExpressions;
namespace e709453 { class Program { static void Main(string[] args) { string text = "... <tr colspan ell. lig>Noget inden i tr</Tr> ..."; //<(?<tag>tr)[^>]*>(?<text>.*)</\k<tag>>
Regex re = new Regex("<tr[^>]*>(?<text>[^<]*)</tr>", RegexOptions.IgnoreCase); Match rem = re.Match(text);
if (rem.Success) { Console.WriteLine(rem.Groups["text"].Value); } } } }
Ok, det kan godt være jeg har udtrykt mig forkert, men jeg HAR den kode du giver mig. Det er selve udtrykket det er galt med, og det har du vist ikke lavet om på, vel?
using System; using System.Text.RegularExpressions;
namespace e709453 { class Program { static void Main(string[] args) { string text = @"<TR><TD>aaa111</TD><TD>bbb111</TD></TR>\r\nmatch ikke dette\r\n<TR><TD>aaa222</TD><TD>bbb222</TD></TR>\r\nmatch ikke dette";
//<(?<tag>tr)[^>]*>(?<text>.*)</\k<tag>>
Regex re = new Regex("<tr[^>]*>(?<text>.*?)</tr>", RegexOptions.IgnoreCase); Match rem = re.Match(text);
while (rem.Success) { Console.WriteLine(rem.Groups["text"].Value);
using System; using System.Text.RegularExpressions;
namespace e709453 { class Program { static void Main(string[] args) { string text = "<TR><TD>aaa111\r\n</TD><TD>bbb111</TD></TR>\r\nmatch ikke dette\r\n<TR><TD>aaa222</TD><TD>bbb222</TD></TR>\r\nmatch ikke dette";
//<(?<tag>tr)[^>]*>(?<text>.*)</\k<tag>>
Regex re = new Regex("<tr[^>]*>(?<text>.*?)</tr>", RegexOptions.IgnoreCase | RegexOptions.Singleline); Match rem = re.Match(text);
while (rem.Success) { Console.WriteLine(rem.Groups["text"].Value);
nej ellers tak. jeg har kørt den gennem Expresso's analkyzer, og det ser forståeligt ud
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.