gpt4 book ai didi

java - 从字符串中解析 double

转载 作者:行者123 更新时间:2023-12-01 05:27:32 24 4
gpt4 key购买 nike

这个问题是this question的延续。问题是正则表达式 "[-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?" 无法正确找到 double .

例如,输入sdf9.99e.23不包含 double ,因为如果我们有[eE],那么它后面必须是[+-]或只是[0-9]。

所以我需要在正则表达式中使用某种“if”。在伪代码中,它会像这样: if(char[i]==(e|E)) then if(char[i+1] == ('+'|'-')) else返回 null

最佳答案

使用心灵感应(预期)来扩展你的算法并禁止数字、点、非数字作为数字我可能会建议这 3 个正则表达式。在同一字符串上连续使用它们并联合(连接、追加)结果。

"[+-]?\\d+((?![\d.])|$)" // ±digits w/o dot after them (actually, this is integer)
"[+-]?\\d+\\.\\d+((?![\deE])|$)" // ±digits, dot, digit w/o [eE] after them
"[+-]?\\d+\\.\\d+[eE][+-]?\\d+" // full variant: ±digits, dot, digits, "e", ±digits

我尝试了一些方法将其组合到一个正则表达式中,但不幸的是它不起作用。

关于java - 从字符串中解析 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com