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

254
Vistas
Regex formula - cannot recognize formula

I'm trying to write pattern to recognize formula IF form string.

e.g. string

[@param_6@]  @IF(@param_5@==null;@param_5@;@IF(1==1;@param_2@;@param_4@)@)@ - @param_3@ - <@IF(@parameter_tag2@ == null;@param_4@;@param_5@)@>

I want to obtain this result

1. Match: @IF(@param_5@==null;@param_5@;@IF(1==1;@param_2@;@param_4@)@)@
2. Match: @IF(@parameter_tag2@ == null;@param_4@;@param_5@)@

My pattern look like:

@IF\(.*\;.*\;.*\)@

But regex return me wrong result.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

You can use

(?s)@IF\((?>(?!@IF\(|\)@).|(?<o>)@IF\(|(?<-o>)\)@)*\)@

See the regex demo. Details:

  • (?s) - RegexOptions.Singleline equivalent, . now matches LF chars, too
  • @IF\( - a @IF( string
  • (?>(?!@IF\(|\)@).|(?<o>)@IF\(|(?<-o>)\)@)* - zero or more repetitions of
    • (?!@IF\(|\)@).| - any char that does not start a @IF( or )@ char sequence
    • (?<o>)@IF\(| - a @IF( substring and a value is pushed on to the "o" group stack, or
    • (?<-o>)\)@ - a )@ string and a value is popped from the "o" group stack
  • \)@ - a )@ string
over 4 years ago · Santiago Trujillo 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