将字符串值与正则表达式文件中存在的正则表达式列表进行匹配

时间:2016-07-26 02:42:56

标签: ruby regex

我希望将值与正则表达式文件中存在的所有正则表达式进行匹配。我编写了以下代码,以便将字符串VALUE与文件中存在的所有字符串进行匹配。

if File.open("/Users/jshaw/mapping/addID.txt").lines.any?{|line| line.include?(VALUE)}

    var badID = "true"

end'

但是,我需要将VALUE与正则表达式文件中存在的正则表达式进行匹配。有人可以帮我吗?

我试过这个但是我需要将所有正则表达式放在一个文件中,因为我有200多个正则表达式。

String IS_BAD_ID = "false"
String ClientID = "10.22.shaw"
if File.open("/Users/jshaw/mapping/addID.txt").lines.any?{ |line| Regexp.new(line) === ClientID}
          IS_BAD_ID = "true"        
end

我总是将IS_BAD_ID值设为false。

1 个答案:

答案 0 :(得分:0)

使用Regexp.new将字符串编译为正则表达式对象 将正则表达式和目标字符串与===进行比较 删除.lines引入.chomp的换行符。

哪个应该留给你:

String IS_BAD_ID = "false"
String ClientID = "10.22.shaw"
if File.open("/Users/jshaw/mapping/addID.txt").lines.any?{ |line| Regexp.new(line.chomp) === ClientID}
          IS_BAD_ID = "true"        
end