我一直在尝试为以下字符串想出一个正则表达式:
[1,null,"7. Mai 2017"],[2,"test","8. Mai 2018"],[3,"test","9. Mai 2019"]
我正在尝试将每个括号及其内容作为单个元素作为匹配输出,如下所示:
[1,null,"7. Mai 2017"]
[2,"test","8. Mai 2018"]
[3,"test","9. Mai 2019"]
我最初天真的做法是这样的:
(\[[^d],.+\])+
但是,.+ 规则过于笼统,最终会匹配整行。 有什么提示吗?
最佳答案
我不确定您要解析的数据格式及其来源,但它看起来像 JSON。对于这个特定的字符串,在字符串的开头和结尾添加方括号 使其可以JSON 加载:
In [1]: data = '[1,null,"7. Mai 2017"],[2,"test","8. Mai 2018"],[3,"test","9. Mai 2019"]'
In [2]: import json
In [3]: json.loads("[" + data + "]")
Out[3]:
[[1, None, u'7. Mai 2017'],
[2, u'test', u'8. Mai 2018'],
[3, u'test', u'9. Mai 2019']]
注意 null
如何变成 Python 的 None
。
关于匹配每个括号元素的 Python RegEx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854165/