-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

文字列を正規表現コンストラクターに渡す必要があります

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

または正規表現リテラルを使用します

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