概述
有时宏可能会解析为一个不一定易于使用的值。它可能很长,或包含你想提取的一个特殊感兴趣的子字符串。这在宏函数中是可以使用的。
宏函数的语法为:
- 要应用的函数;
例如:
{{ITEM.VALUE}.regsub(pattern, output)}
受支持的宏函数
如果在使用函数,但是应用于不支持宏函数得宏, 那么宏的计算结果为 “UNKNOWN”。
示例
关于宏函数可用于自定义宏值的方法,在下面的示例中说明,其中包含的 “log line” 作为接收值:
接收值 | 宏 | 输出 |
---|---|---|
123Log line | {{ITEM.VALUE}.regsub(^[0-9]+, Problem)} | |
123 Log line | {{ITEM.VALUE}.regsub(“^([0-9]+)”, “Problem”)} | Problem |
123 Log line | {{ITEM.VALUE}.regsub(“^([0-9]+)”, Problem ID: \1)} | Problem ID: 123 |
Log line | Problem ID: | |
MySQL crashed errno 123 | {{ITEM.VALUE}.regsub(“^([A-Z]+).([0-9]+)”, “ Problem ID: \1_\2 “)} | Problem ID: MySQL_123 |
123 Log line | {{ITEM.VALUE}.regsub(“([1-9]+”, “Problem ID: \1”)} | UNKNOWN (invalid regular expression) |