2016-04-05 12 views
-3

私の正規表現で何が問題になっていますか?regexpフラグxが動作しません

DATE_REGEX = /\d{1,2}\/\d{1,2}\/\d{4}/ 
def x_flag_testing 
    str = "Service Date: 2/5/2016 to 15/6/2016" 
    regex = /service date:\s+ 
      (?<start_date>#{DATE_REGEX})\s+to\s+ 
      (?<end_date>#{DATE_REGEX})/ix 
    binding.pry 
    puts str[regex, :start_date] 
end 

私がしようとしている: enter image description here

とnilの結果を得ます! は私の正規表現が1行であり、xフラグなしで正常に動作することを示すために:enter image description here

+5

1.プレーンテキストとしてあなたのコードを貼り付けてください。 2. 'DATE_REGEX' constを共有してください。 – mudasobwa

答えて

4

おそらく、「サービス」と「日」の間にリテラルスペースが(理由xフラグの)無視されるため。 \s+

変更を:

/service\s+date:\s+.../ix 
関連する問題