Cadena: [EDAD]:25:NUMERICO;[SUELDO]:1200:NUMERICO;[ESTADOCIVIL]:'C':TEXTO
string pattern = Regex.Escape("[") + "(.*?)]"; string input = "[EDAD]:25:NUMERICO;[SUELDO]:1200:NUMERICO;[ESTADOCIVIL]:'C':TEXTO"; MatchCollection matches = Regex.Matches(input, pattern); foreach (Match match in matches) Response.Write(match.Value);
Observemos que con la instrucción Regex.Escape indicamos que no los caracteres especiales no sean tenidos en cuenta como parte de la expresión regular si no como parte del patrón que deseamos buscar.
El resultado que imprime nuestro algoritmo es:
[EDAD][SUELDO][ESTADOCIVIL]
Espero les sea de utilidad.
Saludos!!