Quiero capturar todos los nombres de variables después de la palabra clave "definir" (estoy usando js).
Ya probé esto:
(?<=define\s)(?:([a-zA-Z_]\w*),?\s?)+pero solo captura la última aparición, pero quiero obtenerlos todos. cadena de ejemplo:
define x, y, z, aenlace aquí regex101
Si está utilizando un navegador que admite un cuantificador infinito en la aserción lookbehind:
(?<=define\s[\w,\s]*)[a-zA-Z_]\w*El patrón coincide:
(?<= Positivo mirar hacia atrás, afirmar que lo que está a la izquierda esdefine\s Match define seguido de un carácter de espacio en blanco[\w,\s]* Coincidencia de caracteres permitidos opcionales en el medio) Cerrar mirar atrás[a-zA-Z_]\w* Coincide con un solo carácter a-zA-Z o _ y caracteres de palabra opcionalesDemostración de expresiones regulares
const s = "define x, y, z, a"; const regex = /(?<=define\s[\w,\s]*)[a-zA-Z_]\w*/g; console.log(s.match(regex));