这个正则表达式在Java中意味着什么? “(\\ d +(\\。\\ d +)?)”

时间:2017-11-06 11:53:25

标签: java regex

代码是:

Pattern p = Pattern.compile("(\\d+(\\.\\d+)?)");

2 个答案:

答案 0 :(得分:1)

a. \d implies digit.
b. + sign implies one or more occurance of previous character.
c. \. -> since . is a special character in regex, we have to escape it with \.
d. Also, \ is a special escape character in java , hence from java perspective we need to add an additional \ to escape the backslash (\).

因此,该模式将代表任何数字,如: 0.01,0.001,1.0001,100.00001等。 基本上是小数点前后的任何十进制数字。

答案 1 :(得分:0)

正则表达式是识别浮点数的简化版本:至少有一个数字后跟一个点和至少一个数字。

它被简化,因为它只覆盖没有符号的数字(即只有正数,因为你不能提供-减号),它允许被认为无效的数字表示,例如000123.123并且缺乏用科学语法编写的数字的支持(例如1.234e56)。