2012-05-04 19 views
0

私はグッドビットでグーグルグーグルしましたが、私はこの正規表現を私自身で理解することはできません。Ruby Regex:パターンの後に複数の一致を返します。

文字列を検索するには:「検証日:」と「all_exception_rules」テキスト私はすべての間で発生する曜日をピックアップしたいと思い

---ルビー/オブジェクト! IceCube ::スケジュールstart_time:2012-04-28 13:38:49.334561000 -07:00 end_time:期間:all_recurrence_rules: - !ruby/object:IceCube :: WeeklyRuleバリデーション::間隔: - !ruby/object:IceCube ::検証:: WeeklyInterval ::検証間隔:1 week_start :: sunday:base_hour: - !ruby/object:IceCube :: Validations :: ScheduleLock ::検証タイプ:: hour:base_min: - !ruby/object:IceCube :: Validations :: Schedule :: Ruby /オブジェクト:IceCube :: Validations :: ScheduleLock ::検証タイプ:: sec :: day :: - Ruby /オブジェクト:IceCube ::検証::日::検証日: - 月曜日 - 火曜日 - 水曜日 - 木曜日 - 金曜日 all_exception_rules:/Validation day: - (.*) all_exception/:[]私はrubularに得ることができる最も近い

ました。これは、ルーブルですべての日(プラス空白とダッシュ)をピックアップしますが、私のレールアプリでNilを返しています。

  • これはRubularでは動作するのですが、私のアプリケーションでは動作しないのですか?

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

答えて

2

これは役に立ちますか?

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

または:

s.scan(/-\s(\w+)\s/).map(&:first).join(" ") 
#=> "monday tuesday wednesday thursday friday" 
+0

これらの両方とも私が働くことができる日の配列を返します。ストリング#スキャンをもう一度見てみましょう。ありがとうございました! – rringler

関連する問題