over 4 years ago

如果在正则表达式中指定了 o 选项,那么这个此表达式中的任意 #{...} 替换仅在第一次求解它的时候执行替换;否则,替换在每次字面量生成 Regexp 对象时执行:

3.times {|i| p /#{i}/}
# 输出:

/0/
/1/
/2/
3.times {|i| p /#{i}/o}
# 输出:

/0/
/0/
/0/
← Ruby 1.9+ 的字符编码 递归的 Ruby 正则表达式 →
 
comments powered by Disqus