online c# regex

c# - online - Obtener valores entre comillas



regex operators (2)

¿Cómo puedo obtener el valor entre comillas con un RegEx

por ejemplo, quiero encontrar todos los parámetros de la prueba de función

<html> test("bla"); print("foo"); test("moo"); </html>

El resultado debe ser {"bla", "moo"}


Si solo quieres que los args test , deberás incluir eso en la expresión regular:

StringBuilder sb = new StringBuilder("{"); bool first = true; foreach (Match match in Regex.Matches(html, @"test/((""[^/""]*/"")/)")) { if(first) {first = false;} else {sb.Append('','');} sb.Append(match.Groups[1].Value); } sb.Append(''}''); Console.WriteLine(sb);

De la pregunta, estoy usando detección de cotizaciones aquí.

Alternativamente, si solo quieres los valores:

foreach (Match match in Regex.Matches(html, @"test/(""([^/""]*)/""/)")) { Console.WriteLine(match.Groups[1].Value); }

El principal cambio aquí es que el grupo ahora está dentro de las cotizaciones.


editar: eliminó el código anterior e hizo una versión de linq ...

var array = (from Match m in Regex.Matches(inText, "/"//w+?/"") select m.Groups[0].Value).ToArray(); string json = string.Format("{{{0}}}", string.Join(",", array));