gpt4 book ai didi

regex - 需要正则表达式定界符的指导

转载 作者:行者123 更新时间:2023-12-05 04:26:23 25 4
gpt4 key购买 nike

尝试将多行 Kafka 日志从 RSYSLOG 发送到 FLuentd。

(?<date>\[.*?\]) (.*?) ((.|\n*)*)

这是链接: https://regex101.com/r/iFHyTi/1

但我的正则表达式将下一个时间戳模式视为单行。要求是在下一个时间戳开始之前停止。

最佳答案

您可以匹配以制表符或空格字符开头的所有后续行:

(?<date>\[[^][]*]) ([A-Z]+) (.*(?:\n(?!\[\d{4}-\d\d-\d\d).*)*)

参见 regex demo .

详细信息

  • (?<date>\[[^][]*]) - 组“日期”:[ , 除方括号外的零个或多个字符,]
  • - 空间
  • ([A-Z]+) - 第 2 组:一个或多个大写 ASCII 字母
  • - 空间
  • (.*(?:\n(?!\[\d{4}-\d\d-\d\d).*)*) - 第 3 组:
    • .* - 尽可能多的除换行符之外的任何零个或多个字符
    • (?:\n(?!\[\d{4}-\d\d-\d\d).*)* - 零个或多个序列
      • \n(?!\[\d{4}-\d\d-\d\d) - 换行符、LF、char 后不跟 [ , 四位数, - , 两位数, - , 两位数
      • .* - 尽可能多的除换行符之外的任何零个或多个字符

关于regex - 需要正则表达式定界符的指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73079794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com