关于RegEX

时间:2016-08-08 14:00:37

标签: regex

我想写一个正则表达式,它应该只允许小数点后的一个值。我写的那个是:

(N\/A)(n\/a)|\d+.?\d{0,1}

它按照我的要求接受这些值,但问题是它也接受1. - 即,如果我在十进制之后没有给出值,那么它也接受了。

1 个答案:

答案 0 :(得分:0)

除了@ Wickramaranga的答案,它提取小数点后的第一个数字,如果你只想匹配数字,你可以使用lookarounds:

(?<!\.)\b\d+(?:\.(\d))?\b(?!\.)

这将提取第一个数字(不包括该点),并确保该数字只有一位数。

请注意,这还包括任何没有小数的数字。

为了要求只有一个数字:

(?<!\.)\b\d+\.(\d)\b(?!\.)