正则表达式除了']]'人物

时间:2016-08-21 13:28:53

标签: python regex regex-negation

我之前发过一个问题,但要理解它并不是很清楚,所以这里再说一遍:

我有一个看起来像这样的字符串:

{
"1000":[ [some whitespace and nonwhitespace characters],
         [some whitespace and nonwhitespace characters],
         ....
         [some whitespace and nonwhitespace characters]],

"1001":[ [some whitespace and nonwhitespace characters],
         [some whitespace and nonwhitespace characters],
         ....
         [some whitespace and nonwhitespace characters]],
...
}

我想使用正则表达式提取如下所示的记录:

"1000":[ [some whitespace and nonwhitespace characters],
         [some whitespace and nonwhitespace characters],
             ....
         [some whitespace and nonwhitespace characters]]

我使用重新模块在 python 中执行此操作

现在我已经想到了这个模式:

' "[0-9]{4}":(anything except ]] ) '

但是我无法弄清楚除了']之外的其他模式的情况。'

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

可以使用以下内容实现正则表达式解决方案:

\d{4}":(.*?)]]

但如果你的字符串是有效的JSON,你真的想在这里使用正则表达式。 Python使用JSON非常自然。假设您的数据是:

data = {key1: [[str1], [str2], ...], ...}

您只需访问相应的密钥即可获取key1的值:

data[key1]

这会给你: