Ruby中常量数的正则表达式

时间:2014-02-27 02:07:49

标签: ruby regex

正则表达式,用于查找10_000_000

等整数常量

我试过了:

regex = /^[+-]?[0-9]{1}[0-9_]*/

regex.match '10_000_000' #=> 10_000_000

regex.match '10__000_00' #=> 10__000_000

我希望10__000_00与任何内容都不匹配,连续下划线

2 个答案:

答案 0 :(得分:1)

您可以使用:

^[+-]?[0-9]+(?:_[0-9]+)*$

在线演示:http://rubular.com/r/9R6hrtNw6W

答案 1 :(得分:0)

我会这样做:

regex = /^(\d+_\d+)+$/
regex.match '10_000_000'
#=> #<MatchData "10_000_000" 1:"0_000">
regex.match '10__000_000'
#=> nil