测验问题:
您将获得以下从 Excel 逗号分隔值 (CSV) 文件导出的电影的简短列表。每个条目都是一个字符串,其中包含双引号中的电影名称、零个或多个空格以及双引号中的电影评级。例如,这是一个包含三个条目的列表:
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
您可以假设电影标题和评级从不包含双引号。在单个条目中,在标题后的逗号和评级的开头引号之间可能会出现可变数量的空格(包括 0)。
以下哪个正则表达式可以实现这一点?检查所有适用。
- 正则表达式 =
/"([^"]+)",\s*"([^"]+)"/
- 正则表达式 =
/"(.*)",\s*"(.*)"/
- 正则表达式 =
/"(.*)", "(.*)"/
- 正则表达式 =
/(.*),\s*(.*)/
有人会解释为什么答案是(1)和(2)吗?