正则表达式,包括加号和小数

时间:2011-09-16 14:24:16

标签: regex

我无法为包含0到99999之间的数字的字符串组合正则表达式,后跟一个加号,后跟一个或两个数字,可选地后跟一个小数和一个数字。例如:

99999+99.9

这也是有效的:

0+00

这也是有效的:

0+02.5

这也是有效的:

0+2.5

我找到了这个主题:How can I check for a plus sign using regular expressions?

这一个: Regular Expression for decimal numbers

但是我无法将2组合在一起并满足上面列出的其他要求。

非常感谢您提供的任何帮助!

3 个答案:

答案 0 :(得分:4)

这应该有效:

\d{1,5}\+\d{1,2}(?:\.\d)?
  1. \d{1,5}捕获0到99999之间的任何内容,但也允许零填充,例如0000000123(如果您不想填零,则会更复杂一点。)

  2. \+匹配加号。

  3. \d{1,2}匹配一位或两位数。

  4. (?:\.\d)匹配一个句点后跟一位数字。 (?:)位表示非捕获组。

  5. 最后的?会使非捕获组成为可选。

答案 1 :(得分:0)

这是

"^[0-9]*([0-9]{0,5}\+[0-9]{1,2}(\.[0-9])?)[0-9]*$"

编辑:根据你的评论,我修改了表达式。

答案 2 :(得分:0)

你需要逃避加号和。 - 像这样

\d{1,5}\+\d{1,2}\.?\d

H个!