将字符串值与正则表达式文件中存在的正则表达式列表匹配
问题描述:
我想将值与正则表达式文件中存在的所有正则表达式匹配。我写了下面的代码来匹配字符串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。
答
使用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
你尝试过什么?当然你看过一些使用正则表达式的Ruby教程。 – 4castle
@ 4castle 请参阅编辑后的文章 – User24