检查字符串是否包含 Ruby 中的特定字符序列

Check if a string contains a specific sequence of characters in Ruby

我正在尝试检查字符串是否包含特定的字符序列。 更准确地说,我需要验证我的字符串是否包含这些字符:

A00[a-zA-Z]

所以,我有一个固定部分 "A00" 后跟一个字母 [a-zA-Z]。我必须确定我的 "filename" 字符串是否包含此序列

filename -> A01k-test.rb   [KO]
filename -> A00W-test.rb   [OK]

我试过这个代码

if @filename !~ /A00+[a-zA-Z]+$/;
    puts "OOOOOOOOOOK"
end

此代码无效,它没有正确匹配。

!~(不匹配)与=~(匹配)相反。您需要使用后者进行匹配。

$ 是 Ruby 正则表达式中行尾或字符串结尾的锚点,根据您的 post,您不需要它。

尝试:

if @filename =~ /A00[a-zA-Z]/
  puts "OOOOOOOOOOK"
end