299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
# File 'lib/core_ext/regexp.rb', line 299
def self.count(count)
if(count == :any)
return "*"
end
if(count.to_s.match(/\>(?<count>\d*)$/))
count_number = count.to_s.match(/\>(?<count>\d*)/)[:count].to_i
return "+" if(count_number == 0)
return "{#{count_number},}"
elsif(count.to_s.match(/0_or_1/))
return "?"
elsif(count.to_s.match(/\>(?<count_min>\d*)_\<(?<count_max>\d*)/)) counts = count.match(/\>(?<count_min>\d*)_\<(?<count_max>\d*)/)
count_min = counts[:count_min].to_i
count_max = counts[:count_max].to_i
return "{#{count_min},#{count_max}}"
elsif(count.to_s.match(/(?<count>\d*)/))
return"{#{count.to_s.match(/(?<count>\d*)/)[:count].to_i}}"
end
end
|