我有一个包含常数的文本文件。 其中一些是双重类型,如0.0,其他类似浮点数0.0f。 我想将所有数字更改为以f结尾的浮点格式。 但我可以找到带正则表达式的浮点数,但我无法用浮点数类型区分。 由于这样的问题: 1.0,1.1,1.1f,1.2f,2.0 - > 1.0f,1.1f,1.1ff,1.2ff,2.0f
我想像这样更改这些样本:1.0f,1.1f,1.1f,1.2f,2.0f
我的调节表达式找到浮动数字是这样的: 模式:([ - +]?)([0-9] +)(。{1})([0-9] +)([eE]?[+ - ]?[0-9] +)? 替换:$ 1 $ 2 $ 3 $ 4f
是否有人可以区分浮点数和双数?
提前致谢。
答案 0 :(得分:0)
使用否定前瞻(参见syntax)
例如:
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)(?!f)
你的替换模式是
$1f
请注意,我已使用被动群组替换了您的捕获群组,并为该号码添加了一个群组
编辑:替代方案(仅使用测试字符串进行测试...)
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)([^f]?,|$)
替换为
$1f$2