クイズ問題:
Excel のコンマ区切り値 (CSV) ファイルからエクスポートされたムービーの次の短いリストが表示されます。各エントリは、二重引用符で囲まれた映画名、0 個以上のスペース、および二重引用符で囲まれた映画の評価を含む単一の文字列です。たとえば、次のリストには 3 つのエントリがあります。
movies = [ %q{"Aladdin", "G"}, %q{"I, Robot", "PG-13"}, %q{"Star Wars","PG"} ]
あなたの仕事は、このリストを解析するための正規表現を作成することです:
movies.each do |movie| movie.match(regexp) title,rating = $1,$2 end # => for first entry, title should be Aladdin, rating should be G, # => WITHOUT the double quotes
映画のタイトルと評価に二重引用符が含まれていないと思われるかもしれません。1 つのエントリ内で、タイトルの後のコンマと評価の開始引用符の間に可変数のスペース (0 を含む) が表示される場合があります。
これを実現する正規表現は次のうちどれですか? 当てはまるもの全てをご確認ください。
- 正規表現 =
/"([^"]+)",\s*"([^"]+)"/
- 正規表現 =
/"(.*)",\s*"(.*)"/
- 正規表現 =
/"(.*)", "(.*)"/
- 正規表現 =
/(.*),\s*(.*)/
答えが(1)と(2)である理由を誰か説明してくれませんか?