-1

我正在尝试使我在此处的一个问题中找到的正则表达式工作......所以我将脚本放在一起,但我遇到了一些语法错误。请找我。

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})?$)

任何帮助,将不胜感激。谢谢

4

1 回答 1

3

您必须将字符串传递给 Regex 构造函数

r = Regex.new("^(\d{13})?$")

或使用正则表达式文字

r = /^(\d{13})?$/
于 2013-01-31T08:46:36.203 回答