0

我有一个相当复杂的数据文件,其中包含许多不同类型的行。对于我感兴趣的特定列,我有一个看起来像这样的模式:

12.6 \pm 0.8      

^^ 每个条目中小数点前后的位数可能会有所不同。

我希望我可以使用正则表达式将该列条目替换为:[12.6,-0.8,+0.8]

我请求帮助的是,一旦我找到了之前的条目,我应该如何进行替换。到目前为止,我发现的所有示例都适用于您想用其他静态字符串替换静态字符串的情况,但是对于每一行,我必须有不同的数字(可能还有不同的数字)。到目前为止,我尝试查找诸如“12.6 \pm 0.8”之类的条目的正则表达式如下:

\d*\.\d*\s\\\w{2})\s\d*\.\d*

如果我也能对此进行检查,我也将不胜感激。目前我只是在我的文本编辑器中操作数据文件,但我也对 Python 解决方案持开放态度。

谢谢!

4

1 回答 1

1

你的表情很接近。是否有任何条件不起作用?

(\d*\.\d*)\s\\\w{2}\s(\d*\.\d*)

替换模式为(对于 JS)

[$1, -$2, $2]

或者对于 emacs(根据http://www.emacswiki.org/emacs/RegularExpression

[\1, -\2, \2]
于 2013-07-31T03:31:34.703 回答