我现在用Google搜索了一下,我自己也无法弄清楚这个正则表达式。我想了解“验证日:”和“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验证:: 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 :: Validations :: Day :: Validation day: - 星期一 - 星期二 - 星期三 - 星期四 - 星期五 all_exception_rules:[]
我最接近rubular的是:/Validation day: - (.*) all_exception/
。这会在rubular中获取所有日期(加上空格和破折号),但在我的rails应用程序中返回Nil
。
知道为什么这会对rubular起作用,而不是我的应用程序?
是否有一种简单的方法来获取没有空格的日子数组 破折号?
答案 0 :(得分:2)
这有帮助吗?
s.scan(/-\s(\w+)\s/)
#=> [["monday"], ["tuesday"], ["wednesday"], ["thursday"], ["friday"]]
或者:
s.scan(/-\s(\w+)\s/).map(&:first).join(" ")
#=> "monday tuesday wednesday thursday friday"