在两个字符串之间匹配的正则表达式?

时间:2018-09-19 18:31:57

标签: python regex python-3.x python-2.7

正则表达式,用于匹配日期和右方括号之间的所有内容:

2018-09-19 15:15:27,272 - AppLog - INFO -
        ******************************************
        Log Report - Consume Cycle BWYgqW-ConsumeCycle
        ******************************************
        Uptime: 11723.089329242706s
        Jobs Run: 281098
        Jobs Current: 75
        Q Avg Read Time: 0.014049809202426435
        Q Msgs Read: 5347
        Worker Load: ['0.92', '0.95', '0.99']
        ******************************************

2018-09-19 15:16:42,089 - AppLog - INFO -
        ******************************************
        Log Report - Consume Cycle eehEes-ConsumeCycle
        ******************************************
        Uptime: 11710.040764093399s
        Jobs Run: 287010
        Jobs Current: 75
        Q Avg Read Time: 0.006846889048917865
        Q Msgs Read: 6649
        Worker Load: ['0.99', '0.99', '0.98']
        ******************************************

我尝试了许多正则表达式来匹配date(2018-09-19)和右方括号](包括)之间的匹配。 日期也会随着年份而改变。

(我知道这是一个重复的问题,但是我为此付出了很多努力)

1 个答案:

答案 0 :(得分:1)

我认为/[0-9]{4}[\s\S]+?\]/gm可以满足您的需求。

[0-9]{4}搜索字符串开头的年份,[\s\S]+?将匹配任何内容,直到第一个]

结果将是:

Match 1
2018-09-19 15:15:27,272 - AppLog - INFO -
    ******************************************
    Log Report - Consume Cycle BWYgqW-ConsumeCycle
    ******************************************
    Uptime: 11723.089329242706s
    Jobs Run: 281098
    Jobs Current: 75
    Q Avg Read Time: 0.014049809202426435
    Q Msgs Read: 5347
    Worker Load: ['0.92', '0.95', '0.99']

Match 2
Full match  455-857 2018-09-19 15:16:42,089 - AppLog - INFO -
    ******************************************
    Log Report - Consume Cycle eehEes-ConsumeCycle
    ******************************************
    Uptime: 11710.040764093399s
    Jobs Run: 287010
    Jobs Current: 75
    Q Avg Read Time: 0.006846889048917865
    Q Msgs Read: 6649
    Worker Load: ['0.99', '0.99', '0.98']

您可以在Regex101

上对其进行测试

[EDIT] 删除了^,将其与re.findall一起使用以获取所有匹配项