Esta es mi primera experiencia con C# y parte de mi experiencia limitada con expresiones regulares y tengo problemas para capturar la primera aparición de una coincidencia en una expresión en particular. Creo que el siguiente ejemplo lo dejaría más claro que las palabras al describir lo que quiero hacer.Captura de la primera coincidencia con expresiones regulares (C#)
Match extractor = (new Regex(@".*\d(?<name>.*)\d.*")).Match("This hopefully will pick up 1Bob9error1 as a name");
Console.WriteLine(extractor.Groups["name"]);
Me gustaría esta expresión para imprimir "Bob" en lugar de "error".
Tengo la corazonada de que tiene algo que ver con el? frente al grupo coincidente, pero no estoy exactamente seguro de qué operación es? realiza en este caso particular. Una explicación junto con algo de ayuda sería maravillosa.
Gracias chicos, no tienen idea de cuánto ayuda este sitio a un programador principiante como yo.
(? yourRegEx) significa un grupo capturado que puede tener el nombre "nombre". Esta es la razón por la que puede usar extractor.Grupos ["nombre"] –
nickytonline