Esta página proporciona ejemplos de cómo utilizar el escape correcto al usar expresiones regulares en varios contextos.
Al utilizar el constructor de expresiones de disparadores, el escape correcto en las expresiones regulares se añade automáticamente.
Macro de usuario con contexto
Expresión regular: \.+\"[a-z]+
Macro de usuario con contexto: {$MACRO:regex:"\.+\\"[a-z]+"}
Nota:
Función de macro dentro del parámetro de clave de métrica
Expresión regular: .+:(\d+)$
Clave de métrica: net.tcp.service[tcp,,"{{$ENDPOINT}.regsub(\".+:(\d+)$\",\1)}"]
Nota:
regsub
está entre comillas dobles (porque contiene paréntesis de cierre);Función de macro LLD
Expresión regular: \.+\"([a-z]+)
Macro LLD: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Nota:
Función de macro LLD dentro del contexto de macro de usuario
Expresión regular: \.+\"([a-z]+)
Macro LLD: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Macro de usuario con contexto: {$MACRO:"{{#MACRO}.iregsub(\"\.+\\\"[a-z]+\", \1)}"}
Nota:
Parámetro de cadena de la función (cualquiera)
concat
se usa como ejemplo.
Contenido de la cadena: \.+\"[a-z]+
Expresión: concat("abc", "\\.\\\"[a-z]+")
Nota:
Función de macro LLD dentro del parámetro de cadena de la función
Expresión regular: \.+\"([a-z]+)
Macro LLD: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Expresión: concat("abc, "{{#MACRO}.iregsub(\"\\.+\\\\\"([a-z]+)\", \\1)}")
Nota:
Macro de usuario con contexto dentro del parámetro de cadena de la función
Expresión regular: \.+\"[a-z]+
Macro de usuario con contexto: {$MACRO:regex:"\.+\\"[a-z]+"}
Expresión: concat("abc, "{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}")
Nota:
Función de macro LLD dentro del contexto de macro de usuario dentro de la función
Expresión regular: \.+\"([a-z])+
Macro LLD: {{#MACRO}.iregsub("\.+\\"([a-z]+)", \1)}
Macro de usuario con contexto: {$MACRO:"{{#MACRO}.iregsub(\"\.+\\\"([a-z]+)\", \1)}"}
Expresión: concat("abc, "{$MACRO:\"{{#MACRO}.iregsub(\\\"\.+\\\\\\\"([a-z]+)\\\", \\1)}\"}")
Observe las tres capas de escape:
Macro de usuario con contexto solo dentro de una cadena
Expresión regular: \.+\"[a-z]+
Macro de usuario con contexto: {$MACRO:regex:"\.+\\"[a-z]+"}
Dentro de la cadena de alguna expresión, por ejemplo: func(arg1, arg2, arg3)="{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}"
Nota: