伙计我刚刚开始在java中学习正则表达式。我正在尝试为数字构造正则表达式。如果我使用" \ d +"它可以用于整数。
但是如果有任何十进制数字,很明显上述RE不会起作用。 所以我构建了一个RE,即" \ d + \。\ d +" 。十进制数可以,但是 不是为了整合者。
所以我想为BOTH INTEGERS和DECIMALS做一个RE。任何想法都表示赞赏。
答案 0 :(得分:1)
使小数点后的部分可选。
"\d+(?:\.\d+)?"
初始括号后面的前导?:
只是为了避免创建匹配的组。
答案 1 :(得分:0)
您可以尝试使用此正则表达式:
/^\d*\.?\d*$/
答案 2 :(得分:0)
java.lang.Double#valueOf(String)的Javadoc为它如何解析数字提供了详细但有充分记录的正则表达式。您可能会发现阅读它并确定哪些部分与您的问题相关是有益的。