我想写一个正则表达式,它应该只允许小数点后的一个值。我写的那个是:
(N\/A)(n\/a)|\d+.?\d{0,1}
它按照我的要求接受这些值,但问题是它也接受1.
- 即,如果我在十进制之后没有给出值,那么它也接受了。
答案 0 :(得分:0)
除了@ Wickramaranga的答案,它提取小数点后的第一个数字,如果你只想匹配数字,你可以使用lookarounds:
(?<!\.)\b\d+(?:\.(\d))?\b(?!\.)
这将提取第一个数字(不包括该点),并确保该数字只有一位数。
请注意,这还包括任何没有小数的数字。
为了要求只有一个数字:
(?<!\.)\b\d+\.(\d)\b(?!\.)