【问题标题】:Regex Matching Wrong Data正则表达式匹配错误的数据
【发布时间】:2014-07-08 13:48:25
【问题描述】:

这是我的链接:

http://regex101.com/r/sL4eR0/5

由于某种原因,它与我正确输入的数据不匹配。我假设这是因为第一个匹配组,因为它在整个文本中匹配不正确的数据;但是,我不太确定如何在不弄乱整个模式的情况下操纵第一组。第一组只是为了提取日期。

例如,这是我希望它做的:

May 19, 2014 4:13:04 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext

Group 1: May 19, 2014 4:13:04 PM
Group 2: org.apache.catalina.core.ApplicationContext
Group 3: log
Group 4: INFO
...so on

【问题讨论】:

  • @hwnd 这很好用,但是在 org.不使用。在某些情况下,在我的日志文件中,我有 com.反而。无论如何要兼顾两者?

标签: javascript regex parsing logging


【解决方案1】:

您可能正在寻找这个正则表达式:

^([A-Z][a-z]{2} \d{1,2}, \d{4} [^co]+) (\S+) (\w+)([^:]+): ([\s\S]+?)$

Regex Demo

【讨论】:

    【解决方案2】:

    下面的正则表达式将分别捕获除日期和org.apache.catalina.core.ApplicationContext之外的所有字符串,

    ^([^co]*) ([^\s]*) (\w+)\n([^\:]*)(?:\:) (\S*)\s*(\S*)\s*(\S*)\s*(\S*)$
    

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多