我试图让我在here问题中找到的正则表达式工作...所以我把脚本放在一起,但我得到了一些语法错误。请看看我。
require 'yaml'
f = File.open("file.txt")
content = f.read
r = Regex.new(^(\d{13})?$)
ids = content.scan(r).uniq
puts YAML.dump(ids)
此脚本从文本文件中的数据块中删除13位数字。这是我得到的错误..
ID_Script.rb:7: syntax error, unexpected '^', expecting ')'
r = Regex.new(^(\d{13})?$)
^
ID_Script.rb:7: syntax error, unexpected $undefined
r = Regex.new(^(\d{13})?$)
任何帮助将不胜感激。 谢谢
答案 0 :(得分:3)
您必须将字符串传递给Regex构造函数
r = Regex.new("^(\d{13})?$")
或使用正则表达式文字
r = /^(\d{13})?$/