
Sé que esto ya tiene muchas preguntas y respuestas similares aquí, pero no puedo unirlas a partir de eso.
Lo que quiero es hacer coincidir llamadas a funciones particulares con una expresión regular, por ejemplo:
Lib.myfunction( arg0, arg1,
arg2, arg3 )
Estoy buscando Lib.myFunction
específicamente, no tiene por qué ser completamente genérico. Cada llamada a esta función tiene una línea vacía adicional justo después.
Un pequeño extra sería si pudiera terminar con un salto de línea, luego un espacio en blanco opcional y luego un salto de línea, porque los editores tienden a agregar espacios en blanco para alinear con el texto en la línea anterior.
¿Tendrías ideas de cómo debería verse la expresión regular?
Respuesta1
Lib\.myfunction\s*\(\s*\S+(?:,\s*\S+)*\s*\)
Explicación:
Lib\.myfunction # literally
\s* # 0 or more spaces
\( # opening parenthesis
\s* # 0 or more spaces
\S+ # 1 or more NON spaces
(?: # start non capturing group
, # a comma
\s* # 0 or more spaces
\S+ # 1 or more NON spaces
)* # end group, may appear 0 or more times
\s* # 0 or more spaces
\) # closing parenthesis