我无法为包含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组合在一起并满足上面列出的其他要求。
非常感谢您提供的任何帮助!
答案 0 :(得分:4)
这应该有效:
\d{1,5}\+\d{1,2}(?:\.\d)?
\d{1,5}
捕获0到99999之间的任何内容,但也允许零填充,例如00000
或00123
(如果您不想填零,则会更复杂一点。)
\+
匹配加号。
\d{1,2}
匹配一位或两位数。
(?:\.\d)
匹配一个句点后跟一位数字。 (?:)
位表示非捕获组。
最后的?
会使非捕获组成为可选。
答案 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个!