我想将一个值与regex表达式文件中的所有正则表达式进行匹配。我编写了以下代码来将字符串VALUE
与文件中的所有字符串相匹配。
if File.open("/Users/jshaw/mapping/addID.txt").lines.any?{|line| line.include?(VALUE)}
var badID = "true"
end'
但是,我需要将VALUE与正则表达式文件中的regex进行匹配。有人能帮我吗?
我已经尝试过了,但我需要把所有的正则表达式放在一个文件中,因为我有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。
使用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