【发布时间】:2017-06-08 14:50:29
【问题描述】:
我有很多以这种形式写入的数据(从文件中读取):
(31265+0j)
(-5613.54281374+404.957401125j)
(1371.65134844+2671.06617046j)
...
但我想提取数字部分,例如 [31265, 0] 或 [-5613.54281374 , 404.957401125] ,我以我认为可行的方式在 python 中编码:
re.findall(r'.*([\+|\-]?\d+.?\d+)([\+|\-]?\d+.?\d+).*', tempStr)
但它不起作用,它给了我这个:
[]
[('26', '5+0')]
[('11', '25')]
...
它有什么问题?是关于懒惰模式的吗?我应该如何解决它?
=========================更新====================== == 对我来说,这个问题已经解决了,但是我还是想知道正则表达式部分有什么问题,有没有人愿意帮我指出正则表达式模式有什么问题?
【问题讨论】:
-
都是数字部分!!您在这里拥有的是复数。 j 代表 sqrt(-1)
-
还想使用正则表达式吗?好的,然后查看我的更新答案:)
标签: python regex string python-3.x complex-numbers