0

私は今かなりグーグルで検索しましたが、この正規表現を自分で理解することはできません。'Validation day:' と 'all_exception_rules' テキストの間に発生するすべての曜日をピックアップしたいと思います。

検索する文字列:

--- !ruby/object:IceCube::Schedule start_time: 2012-04-28 13:38:49.334561000 -07:00 end_time: duration: all_recurrence_rules: - !ruby/object:IceCube::WeeklyRule validations: :interval: - !ruby/object:IceCube::Validations::WeeklyInterval::検証間隔: 1 week_start: :sunday :base_hour: - !ruby/object:IceCube::Validations::ScheduleLock::検証タイプ: :hour :base_min: - ! ruby/object:IceCube::Validations::ScheduleLock::検証タイプ: :min :base_sec: - !ruby/object:IceCube::Validations::ScheduleLock::検証タイプ: :sec :day: - !ruby/object: IceCube::検証::日::検証日: -月曜日 - 火曜日 - 水曜日 - 木曜日 - 金曜日all_exception_rules: []

rubular で取得できる最も近いものは次のとおり/Validation day: - (.*) all_exception/です。これは、ルビュラーですべての日 (および空白とダッシュ) を取得しますがNil、私の Rails アプリでは返されます。

  • なぜこれがルビュラーでは機能するのに、私のアプリでは機能しないのですか?

  • 空白とダッシュなしで日の配列を取得する簡単な方法はありますか?

4

1 に答える 1

2

これは役に立ちますか?

s.scan(/-\s(\w+)\s/) 
#=> [["monday"], ["tuesday"], ["wednesday"], ["thursday"], ["friday"]]

または:

s.scan(/-\s(\w+)\s/).map(&:first).join(" ") 
#=> "monday tuesday wednesday thursday friday"
于 2012-05-04T18:25:46.563 に答える