string val = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
quiero obtener el texto entre '
citas utilizando expresiones regulares.C# Expresiones regulares, cadena entre comillas simples
¿Alguien puede?
string val = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
quiero obtener el texto entre '
citas utilizando expresiones regulares.C# Expresiones regulares, cadena entre comillas simples
¿Alguien puede?
Algo así debe hacerlo:
string val = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
Match match = Regex.Match(val, @"'([^']*)");
if (match.Success)
{
string yourValue = match.Groups[1].Value;
Console.WriteLine(yourValue);
}
Explicación de la expresión '([^']*)
:
' -> find a single quotation mark
( -> start a matching group
[^'] -> match any character that is not a single quotation mark
* -> ...zero or more times
) -> end the matching group
Usted está buscando para que coincida con GUID en una cadena mediante una expresión regular.
¡Esto es lo que quieres, sospecho!
public static Regex regex = new Regex(
"(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-"+
"([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})",RegexOptions.CultureInvariant|RegexOptions.Compiled);
Match m = regex.Match(lineData);
if (m.Succes)
{
...
}
Esto extraerá el texto entre el primera y última comilla simple en una línea:
string input = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
Regex regName = new Regex("'(.*)'");
Match match = regName.Match(input);
if (match.Success)
{
string result = match.Groups[1].Value;
//do something with the result
}
si tuviera 'a', 'b' este obtendría una sola cadena de "a", "b" en lugar de la probable "a". @ Fredrik's hará esto. –
Usted podría utilizar búsqueda positiva hacia delante y de búsqueda hacia atrás también,
string val = "name='40474740-1e40-47ce-aeba-ebd1eb1630c0'";
Match match = Regex.Match(val, @"(?<=')[^']*(?=')");
if (match.Success)
{
string yourValue = match.Groups[0].Value;
Console.WriteLine(yourValue);
}
es una explicación muy útil. ¿Pero por qué grupo [1]? – liang
@liang El primer grupo ('match.Groups [0]') contendrá la cadena completa que coincida con la expresión regular completa. Eso significa que también contiene el carácter de cita principal. 'match.Groups [1]' contiene el primer grupo coincidente en la expresión regular, por lo que ese es el valor que queremos usar. –
No sabía nada de grupos, pero eso es exactamente lo que ayuda mucho. +1 – feldeOne