我有一个MySQL double(10,2),我已应用以下正则表达式:/^\d{0,10}\.\d{2}$/
我没有通过1234
的验证,我假设小数是必需的(我理解?
是可选的char,但不存在)。
我在哪里将?
字符放在此正则表达式中?
感谢
答案 0 :(得分:2)
要解决眼前的问题,您需要optional group \.\d{2}
模式 - (\.\d{2})?
:
/^\d{0,10}(\.\d{2})?$/
它匹配字符串开头的0到10位数,然后要么是字符串的结尾,要么是.
和2位数。
下一步,您可以使用{1,2}
limiting quantifier在小数部分中允许1位或2位数字:
/^\d{0,10}(\.\d{1,2})?$/
甚至使用non-capturing group来提高效率:
/^\d{0,10}(?:\.\d{1,2})?$/