【问题标题】:How to match a string until a certain pattern (Python 3.8)如何匹配字符串直到某个模式(Python 3.8)
【发布时间】:2020-03-27 21:20:04
【问题描述】:

我的正则表达式有一个小问题。

我想削减一个 p-list 文件以获得一个 unix (10 digis) 时间戳加上时间戳之后的直到某个特定模式的所有内容。我目前的模式是这样的:

,\s*(\d{10}),\s*'(?=.[',])

我想匹配时间戳以及时间戳和特定模式之间的所有内容 ',

这是从 p 列表中截取的字符串:

'$class': UID(23)}, 1572871204, 'I need this one', {'dictionary': UID(34)

我想得到:

1573078965, 'I need this one'

如果我将 时间戳作为子匹配并将字符串作为另一个子匹配,那将是理想的。

非常感谢!

【问题讨论】:

    标签: regex python-3.x timestamp


    【解决方案1】:

    在正向前瞻之间,您可以使用否定字符类 ([^,']+) 添加另一个不匹配逗号或 ' 的捕获组。

    但由于您之前也匹配逗号,因此您可以省略前瞻并改为匹配逗号。

    例如

    ,\s*(\d{10}),\s*'([^,']+)[',]
    

    Regex demo

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 2023-03-30
      • 2022-01-17
      • 2016-10-03
      • 2021-11-26
      • 2016-10-23
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多