Ruby正则表达式,用于包含x个整数的字符串



我想制作一个ruby正则表达式,它匹配恰好包含x整数的字符串。我希望字符串也能包含其他单词

的例子:如果x = 2,以下内容应匹配:有3辆车时速超过45英里

,其中第一个整数为3,第二个整数为45。

我会写

str = "There were 3 cars going over 45 miles per hour"
str.scan(/d+/).size == 2
#=> true

str.gsub(/d+/).count == 2
#=> true

后者的优点是str.gsub(/d+)返回一个枚举数,而str.scan(/d+/)创建一个临时数组。

请参阅String#gsub的形式,它接受参数但不接受块,以及Enumerable#count。

您可以使用通用的正则表达式模式:

^D*(?:d+D+){2}$

您可以将{2}替换为字符串中您期望的任意多个数字。下面是一个工作演示。

相关内容

  • 没有找到相关文章

最新更新