如何匹配字符串直到特定模式(Python 3.8)

时间:2019-12-03 08:26:45

标签: regex python-3.x timestamp

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

我想解析一个p列表文件,以获取unix(10 digis)时间戳,并在时间戳之后加上所有内容,直到达到特定模式。我当前的模式如下:

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

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

这是从p列表中摘录的字符串:

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

我想得到:

1573078965, 'I need this one'

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

非常感谢您!

1 个答案:

答案 0 :(得分:1)

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

但是,由于您之前也匹配了逗号,因此可以省略前行,然后再匹配逗号。

例如

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

Regex demo