Ruby: 你如何从带有']'的正则表达式中逃脱
Ruby: How do you escape from a regex with ']'
所以我是正则表达式的新手,我不断收到此警告,但我不知道如何更正它:
madlib.rb:4: warning: regular expression has ']' without escape: /\[(\w*:*\w)]/
来自此代码:
keys=Hash.new { |h, k|
puts "Give me #{k.sub(/\[(\w*:*\w)]/, "")}:"
h[]=$stdin.gets.chomp
}
print keys
puts "", $*[0].split(".")[0].gsub("_", " "),
IO.read($*[0]).gsub(/\[(\w*:*\w)]/) { keys[] }
目前我称之为它的方式似乎很简单,在终端中我只是输入 madlib.rb Story1.txt
,但我将尝试使用 erb 和 sinatra 在网页中实现它,但我宁愿如果我能帮忙,就不要弹出这些警告。
使用\
.
/\[(\w*:*\w)\]/
这应该可以解决问题
您忘记了反斜杠。
keys=Hash.new { |h, k|
puts "Give me #{k.sub(/\[(\w*:*\w)\]/, "")}:"
h[]=$stdin.gets.chomp
}
print keys
puts "", $*[0].split(".")[0].gsub("_", " "),
IO.read($*[0]).gsub(/\[(\w*:*\w)\]/) { keys[] }
所以我是正则表达式的新手,我不断收到此警告,但我不知道如何更正它:
madlib.rb:4: warning: regular expression has ']' without escape: /\[(\w*:*\w)]/
来自此代码:
keys=Hash.new { |h, k|
puts "Give me #{k.sub(/\[(\w*:*\w)]/, "")}:"
h[]=$stdin.gets.chomp
}
print keys
puts "", $*[0].split(".")[0].gsub("_", " "),
IO.read($*[0]).gsub(/\[(\w*:*\w)]/) { keys[] }
目前我称之为它的方式似乎很简单,在终端中我只是输入 madlib.rb Story1.txt
,但我将尝试使用 erb 和 sinatra 在网页中实现它,但我宁愿如果我能帮忙,就不要弹出这些警告。
使用\
.
/\[(\w*:*\w)\]/
这应该可以解决问题
您忘记了反斜杠。
keys=Hash.new { |h, k|
puts "Give me #{k.sub(/\[(\w*:*\w)\]/, "")}:"
h[]=$stdin.gets.chomp
}
print keys
puts "", $*[0].split(".")[0].gsub("_", " "),
IO.read($*[0]).gsub(/\[(\w*:*\w)\]/) { keys[] }