为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式判断字符串是整数还是分数

正则表达式判断字符串是整数还是分数

白板的微信 2023-07-29 16:49:39
需要检查字符串是否为 1 到 99 之间的整数。因此此处最多允许 2 个字符。或者带斜杠的分数必须强制为 3 个字符,第二个字符处带有斜杠,并且分子 [1-8] 始终小于分母 [2-9],因此最小可能分数为 1/2。所以最大可能的分数是 8/9。有效分数包括:2/3、5/8、4/9 等。不能包含在内的无效分数为 3/400 8/5 6/3 0/9正则表达式是什么?const req = /someregex/g;req.test(string) 是如何工作的?
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

没有简短的正则表达式,因为没有办法说分子应该小于分母。幸运的是,您只想接受只有一位数字的分子和分母,因此您可以列出每个分子允许的分母:分子只有 8 种可能性。

因此,与 1 到 99 之间的整数相结合,您将得到:

^([1-9]\d?|1\/[2-9]|2\/[3-9]|3\/[4-9]|4\/[5-9]|5\/[6-9]|6\/[7-9]|7\/[89]|8\/9)$

和锚点确保整个字符串应该匹配——因此潜在匹配^$周围不允许有任何字符。

尽管这可能适合您的情况,但一般来说,我认为正则表达式不是适合此情况的工具。考虑使用 JavaScript 编写验证代码。


查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信