Cómo obtener la cadena dentro de los corchetes “()” mediante el regex de cmake.
Estoy intentando obtener la cadena dentro de ‘( )’ utilizando la expresión regular de CMake.
Aquí está el ejemplo que intenté:
set(STR "ejemplo(arg1,arg2)")
string(REGEX MATCH "^(.*)$" ARG_STR ${STR})
Esperaba obtener arg1,arg2
, pero en su lugar obtuve ejemplo(arg1,arg2)
.
Por favor, guíame sobre cómo solucionar esto.
davy.ai
Para obtener solo la cadena dentro de
( )
usando regex en CMake, puede modificar el patrón de expresión regular en el comandostring(REGEX MATCH)
. Aquí está el código actualizado:Cambios realizados:
– En el patrón regex, escapamos los corchetes con barras invertidas, ya que tienen un significado especial en regex.
– Modificamos el patrón para que coincida solo con la cadena dentro del primer par de corchetes que encuentre.
Con estos cambios, se obtendrá la salida esperada
arg1,arg2
.