2012-05-04 4 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 :: 유효성 검사 유형 : : 시간 : base_min : -! ruby ​​/ object : IceCube :: Validations :: Schedule :: Ruby/object : IceCube :: Validations :: ScheduleLock :: 유효성 검사 유형 : : 초 : 일 : -! 루비/객체 : IceCube ::하는 검증 :: 일 :: 확인 일 : - 월요일 - 화요일 - 수요일 - 목요일 - 금요일 all_exception_rules : /Validation day: - (.*) all_exception/ : [] 내가 Rubular 나에 얻을 수있는 가장 가까운이

했다. 이것은 루블러로 모든 날 (공백과 대시 포함)을 선택하지만 내 레일 앱에서는 Nil을 반환합니다.

  • 이것이 루블러에서는 작동하지만 내 앱에서는 작동하지 않는 이유는 무엇입니까?

  • 공백없이 일 배열을 선택하는 쉬운 방법이 있습니까? 대시?

답변

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

모두 내가 작업 할 수있는 일의 배열을 반환합니다. 나는 String # scan을 다시 한번 살펴볼 차례라고 생각한다. 고맙습니다! – rringler