使用正则表达式从特定字符串中提取浮点数

时间:2013-07-24 02:40:28

标签: regex

我使用什么正则表达式从.txt文件中包含的以下文本中提取,例如1.09487?另外,如何修改正则表达式以解决浮点数为负的情况(例如,-1.948)?

我在Google上尝试了几个建议以及正则表达式生成器,但似乎都没有。似乎我想使用一个锚(例如^)开始搜索单词“serial”的数字,然后停在“(”,但这似乎不起作用。

输出.txt文件:

熵=每个字符7.980627位。

Optimum compression would reduce the size
of this 51768 character file by 0 percent.

Chi square distribution for 51768 samples is 1542.26, and randomly
would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 125.93 (127.5 = random).
Monte Carlo value for Pi is 3.169834647 (error 0.90 percent).
Serial correlation coefficient is 1.09487 (totally uncorrelated = 0.0).

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

试试这个:

(-?\d+\.\d+)(?=\s\(totally)

检查here

答案 1 :(得分:0)

这应该足够了:

(?<=Serial correlation coefficient is )[-\d.]+

除非你期待垃圾,否则这样可以正常工作。