【问题标题】:pipe as delimiter in regular expression管道作为正则表达式中的分隔符
【发布时间】:2020-10-06 09:20:18
【问题描述】:
2020-09-16 04:47:49 | info | PHP | BACKEND | 01ARZ3NDEKTSV4RRFFQ69G5FAV | Login not successfully. Please try again

以上是我将发送到fluentd的示例日志格式,我做了如下正则表达式:

<parse>
  time_format %Y-%m-%d %H:%M:%S
  expression /^(?<timestamp>(.*?\|))(?<level>(.*?\|))(?<language>(.*?\|))(?<service>(.*?\|))(?<uuid>(.*?\|))(?<message>.*)/
  @type regexp
</parse>

问题是当我渲染那个时,管道| 包含在字符串中。请让我知道如何忽略或跳过| 那里?谢谢。

【问题讨论】:

    标签: javascript node.js regex fluentd


    【解决方案1】:

    只需将| 移出您的组:^(?&lt;timestamp&gt;(.*?))\|(?&lt;level&gt;(.*?))\|(?&lt;language&gt;(.*?))\|(?&lt;service&gt;(.*?))\|(?&lt;uuid&gt;(.*?))\|(?&lt;message&gt;.*)

    见:https://regex101.com/r/8rFRPa/2

    【讨论】:

    • 你能帮我修剪每个匹配字符串的空间吗?
    • 那就是^(?&lt;timestamp&gt;(.*?))\|(?&lt;level&gt;(.*?))\|(?&lt;language&gt;(.*?))\|(?&lt;service&gt;(.*?))\|(?&lt;uuid&gt;(.*?))\|(?&lt;message&gt;.*),见:regex101.com/r/8rFRPa/4
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 2014-09-09
    • 2014-05-31
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多