Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

272
Vistas
Regex - extract string between double quotes where line starts with a keyword

Given the following lines:

classes!("text-xl", "text-blue-500")
String::from("test")
classes!("text-sm")

I wish to extract text-xl, text-blue-500 and text-sm and potentially any other strings within classes!

What I have so far is:

  • (?<=classes!).* - this gives me everything after classes! but not the exact values
  • (?!^")".*?" - this gives me the values I want with but with the quotes
  • I use the global and multi line flags
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

If you are using Javascript, and the positive lookbehind is supported (you don't need the multiline flag, only the global flag)

(?<=classes!\((?:"[^"]*",\s*)*")[^"]*(?=")
  • (?<= Positive lookbehind to assert to the left
    • classes!\( Match classes!(
    • (?:"[^"]*",\s*)* Match optional repetitions of "...",
    • " Match a double quote
  • ) Close lookbehind
  • [^"]* Match optional chars other than "
  • (?=") Assert " to the right

Regex demo

const regex = /(?<=classes!\((?:"[^"]*",\s*)*")[^"]*(?=")/g;
const str = `classes!("text-xl", "text-blue-500")
String::from("test")
classes!("text-sm")
`;
console.log(str.match(regex))

about 4 years ago · Juan Pablo Isaza Denunciar

0

You could try a non fixed-width lookbehind like so:

(?<=^classes!\("(?:[^"]*"[^"()]*")*)[^"]*

See an online demo


  • (?<= - Open a positive lookbehind;
    • ^classes!\(" - Start-line anchor and match literally 'classes!("';
    • (?:[^"]*"[^()"]*")* - A nested non-capture group to match (0+ times) any char other than quotes (and paranthesis), a quote and that same sequence repeated.
    • ) - Close lookbehind;
  • [^"]* - Match 0+ (Greedy) characters other than quotes.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda