如果字符串包含ruby

时间:2016-01-15 21:33:25

标签: ruby

使用以下代码,如果文件名为Bravo,我希望123456.txt

if File_Name#=~ ('.+(775|776|777|778)\.txt')
  @outputs['answer'] = 'Alpha'
elsif File_Name#=~ (.+(456|546)\.txt)
  @outputs['answer'] = 'Bravo'

但答案会产生Alpha。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

#定义了评论的开头。测试正则表达式的运算符是=~,而不是#=~

if File_Name

将被选中,除非File_Namefalsenil,因此您始终获得'Alpha'

创建正则表达式的文字语法是//,而不是('')

if File_Name =~ /.+(775|776|777|778)\.txt/