01. juli 2003 - 16:26Der er
4 kommentarer og 1 løsning
Regexp til at match funktions prototype
Jeg vil gerne have et regular expression som kan matche funktioner af følgende type (funktionen starter altid med et $):
$example $example() $example(a) $example(a,b) $example(a,b,c) (gerne så mange argumenter som man nu vælger at smide med)
Jeg vil gerne have et match for hver funktion og et submatch for hvert argument. Alternativ kunne være at lave et .Split(',') på indholdet i parantesen, altså argumenterne hvis det er simplere.
Jeg får også matchen med det udtryk, men der er et problem med argumenterne. I det sidste udtryk er første sub match (a,b,c) anden er [b,] og submatch til denne er a og b.
Jeg tror nok jeg vælger selv at håndtere argumenterne.
Kan du lave et exp hvor alt som står mellem de eventuelle paranteser returneres i første submatch?
Hvad med denne konstruktion. Jeg ved at det ikke helt er det du er ude efter, men det er en god substitut:
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"\$example(\((?<Parameters>.*)\))?"); System.Text.RegularExpressions.Match m = r.Match(test); System.Diagnostics.Debug.WriteLine(m.Groups["Parameters"].Value);
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.