Ruby 只有整数或混合数匹配的正则表达式

Ruby 只有整数或混合数匹配的正则表达式,ruby,regex,validation,ruby-on-rails-4,Ruby,Regex,Validation,Ruby On Rails 4,我正在尝试使用正则表达式用我的JqueryUI验证器验证用户输入。我希望用户只能输入整数或正确输入的分数 我使用\d+。\d+|\d+。$|^.0$|\d+/[1-9]+|\d+\d+/[1-9]+创建了regexr,但它没有通过我的测试,因为它接受小数和奇数组合。我是从另一个SO帖子上得到的 我基本上希望唯一可接受的输入是: 整数“1”或“200” 分数“1/2”或“3/8” 混合数字“1 1/2”或“200 3/8” 我不希望它接受: 任何字母或其他字符“数字”或“5%” 正确条目“1 1

我正在尝试使用正则表达式用我的JqueryUI验证器验证用户输入。我希望用户只能输入整数或正确输入的分数

我使用\d+。\d+|\d+。$|^.0$|\d+/[1-9]+|\d+\d+/[1-9]+创建了regexr,但它没有通过我的测试,因为它接受小数和奇数组合。我是从另一个SO帖子上得到的

我基本上希望唯一可接受的输入是:

整数“1”或“200”

分数“1/2”或“3/8”

混合数字“1 1/2”或“200 3/8”

我不希望它接受:

任何字母或其他字符“数字”或“5%”

正确条目“1 1/2 4”或“1 1/2 1/2”的奇数组合

如何创建通过测试的适当正则表达式?(至少我希望它只接受整数和混合数,我可以处理其他情况)

在不验证“正确分数”的情况下使用此模式

^(\d+(?:(?: \d+)*\/\d+)?)$  

你的问题是什么?你不能通过正则表达式来完成。什么是不合适的分数?@casimirithippolyte分子大于或等于denominator@AvinashRaj为什么不能用正则表达式实现这一点?哪一场比赛regex不起作用?太好了!谢谢你@alphabravo。我很惊讶没有一个简单的网站,有常用的正则表达式模式,很容易搜索。。。