用于复杂列表和整数组合的 python 正则表达式

标签 python regex

我有一个需要解析的字符串:这是示例字符串:

sample_string = "([0, 22, 23, 24, 25, 47, 59],36155), ([0, 1, 22, 23, 24, 25, 47, 59, 7],36154), ([0, 1, 22, 23, 24, 25, 47, 50, 59, 7],36153)"

我尝试了以下正则表达式,但似乎不正确:

\((\[[(\d)+][,?])+\]),(\d)+\)

正则表达式的目的是轻松访问元组的列表部分以及元组的整数部分。最简单的方法是使用 ast.literal_eavl(sample_string) 但想知道为什么上面的正则表达式无法正确解析它?

最佳答案

除非有一些令人信服的理由,否则我不建议您在这里使用正则表达式。

试试ast模块

>>> import ast
>>> sample_string = "([0, 22, 23, 24, 25, 47, 59],36155), ([0, 1, 22, 23, 24, 25, 47, 59, 7],36154), ([0, 1, 22, 23, 24, 25, 47, 50, 59, 7],36153)"
>>> ast.literal_eval(sample_string)
(([0, 22, 23, 24, 25, 47, 59], 36155), ([0, 1, 22, 23, 24, 25, 47, 59, 7], 36154), ([0, 1, 22, 23, 24, 25, 47, 50, 59, 7], 36153))
>>> 

关于用于复杂列表和整数组合的 python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15216999/

相关文章:

python - 使用python-twitter库,如何设置时区?

python - 获取用于图形 API 应用程序搜索的 Facebook 访问 token

regex -\b 无法按 sed 命令的预期工作

python - 正则表达式调节

正则表达式搜索和替换左右边界

Python 如果字符串包含在 href 中

python - re.split() 给出列表中的空元素

python - 在 R 中,即使安装了 Boto3,也没有 Boto3 连接 Athena 时出错

.net - 正则表达式模式以匹配有限的长度

正则表达式匹配除了