【发布时间】:2021-03-28 22:09:08
【问题描述】:
我正在尝试编写类似 gdb 的调试器,但在提取括号之间的表达式(从字符串)时遇到问题。
例如,我想要以下代码的输出:
extract_expression('*((*0x802F18B4) + 4)')
成为:
['(*0x802F18B4)', '((*0x802F18B4) + 4)', '*((*0x802F18B4) + 4)']
括号中最内部的元素到外部元素。
【问题讨论】:
-
你能展示一个带有有效python表达式的例子吗?还是表达式
*((*0x802F18B4) + 4)是一个字符串? -
是的,它是一个字符串
-
这个表达式是一个字符串,然后我用 python 求值
-
您的预期结果与括号的嵌套级别不一致。应该是
['*0x802F18B4', '(*0x802F18B4) + 4', '*((*0x802F18B4) + 4)']或['(*0x802F18B4)', '((*0x802F18B4) + 4)', "('*((*0x802F18B4) + 4)')"]。
标签: python regex string extract