Ruby 恰好包含 x 个整数的字符串的正则表达式
Ruby regex for string that contains exactly x amount of integers
我想制作一个 ruby 正则表达式来匹配恰好包含 x 个整数的字符串。我希望字符串也能够包含其他单词。
示例:
如果 x = 2,则应匹配以下内容:
“有 3 辆汽车时速超过 45 英里”
其中第一个整数是 3,第二个整数是 45。
您可以使用通用的正则表达式模式:
^\D*(?:\d+\D+){2}$
您可以将 {2}
替换为字符串中您期望的任意数字。这是一个有效的 demo.
我会写
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+)
returns 一个枚举器,而 str.scan(/\d+/)
创建一个临时数组。
见String#gsub that takes an argument but no block, and Enumerable#count的形式。
我想制作一个 ruby 正则表达式来匹配恰好包含 x 个整数的字符串。我希望字符串也能够包含其他单词。
示例: 如果 x = 2,则应匹配以下内容: “有 3 辆汽车时速超过 45 英里”
其中第一个整数是 3,第二个整数是 45。
您可以使用通用的正则表达式模式:
^\D*(?:\d+\D+){2}$
您可以将 {2}
替换为字符串中您期望的任意数字。这是一个有效的 demo.
我会写
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+)
returns 一个枚举器,而 str.scan(/\d+/)
创建一个临时数组。
见String#gsub that takes an argument but no block, and Enumerable#count的形式。