你可以在这里测试一切:
我想提取单个变量的值,注意它们定义的不同方式。例如,对于 dtime,我们要提取 0.004。它还必须能够解释指数数字,例如对于变量 vis,它应该提取 10e-6。
问题是每个变量在变量名和等号之间都有自己的空格数(我无法控制它们的编码方式)
要测试的文本:
dtime = 0.004D0
案例 = 0
新运行 = 1
周期性 = 0
标量 = 1
伊迪= 1
mg_level = 5
nstep = 20000
可见 = 10e-6
ak = 10e-6
g = 9.81D0
要提取 dtime 的值,此 REGEX 有效:
(?<=dtime =\s)[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?
要提取 dtime 的值,此 REGEX 有效:
(?<=vis =\s)[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?
问题是我需要知道变量名和等号之间的确切空格数。我尝试使用 \s+ 但它不起作用,为什么?
(?<=dtime\s+=\s)[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?