本页提供了在各种上下文中使用正则表达式时正确使用转义的示例。
使用触发器表达式构造函数时,会自动添加正则表达式中的正确转义。
用户宏上下文
正则表达式: \.+\"[a-z]+
用户宏上下文: {$MACRO:regex:"\.+\\"[a-z]+"}
注意:
LLD 宏函数
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
注意:
LLD 宏函数在用户宏上下文
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
用户宏上下文: {$MACRO:"{{#MACRO}.iregsub(\".+\\\"[a-z]+\", \1)}"}
注意:
字符串参数的非历史函数
字符串内容: \.+\"[a-z]+
表达式: concat("abc", "\\.\\\"[a-z]+")
注意:
字符串参数的历史函数
字符串内容: \.+\"[a-z]+
表达式: find(__ITEM_KEY__,,"regexp","\.+\\"[a-z]+")
注意:
LLD 宏函数在非历史函数的字符串参数中
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
表达式: concat("abc, "{{#MACRO}.iregsub(\"\\.+\\\\\"[a-z]+\", \\1)}")
注意:
LLD 宏函数在历史函数的字符串参数中
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
表达式: find(__ITEM_KEY__,,"eq","{{#MACRO}.iregsub(\"\.+\\\"[a-z]+\", \1)}")
注意:
用户宏上下文在非历史函数的字符串参数中
正则表达式: \.+\"[a-z]+
用户宏上下文: {$MACRO:regex:"\.+\\"[a-z]+"}
表达式: concat("abc, "{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}")
注意:
用户宏上下文在历史函数的字符串参数中
正则表达式: \.+\"[a-z]+
用户宏上下文: {$MACRO:regex:"\.+\\"[a-z]+"}
表达式: find(__ITEM_KEY__,,"eq","{$MACRO:regex:\"\.+\\\"[a-z]+\"}")
注意:
LLD 宏函数在用户宏上下文内部非历史函数中
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
用户宏上下文: {$MACRO:"{{#MACRO}.iregsub(\".+\\\"[a-z]+\", \1)}"}
表达式: concat("abc, "{$MACRO:\"{{#MACRO}.iregsub(\\\".+\\\\\\\"[a-z]+\\\", \\1)}\"}")
请注意三层转义:
LLD 宏函数在用户宏上下文内部历史函数中
正则表达式: \.+\"[a-z]+
LLD 宏: {{#MACRO}.iregsub("\.+\\"[a-z]+", \1)}
用户宏上下文: {$MACRO:"{{#MACRO}.iregsub(\".+\\\"[a-z]+\", \1)}"}
表达式: find(__ITEM_KEY__,,"eq","{$MACRO:\"{{#MACRO}.iregsub(\\".+\\\\"[a-z]+\\", \1)}\"}")
注意:
用户宏上下文仅在字符串内
正则表达式: \.+\"[a-z]+
用户宏上下文: {$MACRO:regex:"\.+\\"[a-z]+"}
在某些表达式的字符串内部,例如: func(arg1, arg2, arg3)="{$MACRO:regex:\"\\.+\\\\\"[a-z]+\"}"
注意: