使用Ruby中的正则表达式从字符串中获取数据

时间:2015-05-27 23:22:59

标签: ruby regex string

我可以使用一些帮助编写正则表达式来仅选择硬括号之间的“X”。信息在一个文本文件中,我可以将每一行都作为自己的字符串。

1.[ ]: Build a blanket fort
2.[X]: Eat a pancake
53.[X]: Change the sheets
4.[ ]: Make a model airplane
10.[X]: FizzBuzz

2 个答案:

答案 0 :(得分:0)

模式.*\[(.*?)\].*应该符合您的需要(注意括号的转义),并在第一个/唯一匹配组的括号之间放置任何内容。

e.g。 <{1}}将返回'2.[X]: Eat a pancake'.match('.*\[(.*?)\].*')[1]X将返回空格。

如果您不希望在没有X(或其他任何内容)时返回任何匹配项,请将括号中的'4.[ ]: Make a model airplane'.match('.*\[(.*?)\].*')[1]替换为您想要匹配的内容,例如.*?如果您&#39 ;只期待大写字母。

答案 1 :(得分:0)

line = '53.[X]: Change the sheets'

if line.include? '[X]'
  puts 'This answer was selected'
end