ruby - 正则表达式中的 `\.` 和 `i` 是什么?

标签 ruby regex literals

谁能告诉我下面:with 行中的\.i 是做什么用的?

validates :image_url, allow_blank: true, format: {
    with:    %r{\.(gif|jpg|png)\Z}i,
    message: 'must be a URL for GIF, JPG or PNG file.'
}

最佳答案

%r{} 用于正则表达式。

\. 正在寻找文字字符 .。您需要 \ 进行转义,因为仅使用 . 意味着完全不同的东西(任何字符匹配)。

i 用于不区分大小写的搜索。

本质上,您的正则表达式匹配任何以 .gif.jpg.png 结尾的内容。由于不区分大小写的搜索,这些也可能类似于 .GiF

关于ruby - 正则表达式中的 `\.` 和 `i` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32027693/

相关文章:

ruby - 使用 block 而不是构造函数参数初始化对象

ruby - 从 Ruby 中的 DateTime 中减去 n 小时

php - 使用 preg_match 查找所有 PHP 变量

regex - 来自终端的 Sed 正则表达式字符串替换

javascript - 如何迭代字符串并查明它是否在对象文字中可用?

c++ - 如何在c++中使用宽字符串文字而不将L放在每个文字前面

ruby - 替换字符串中的单词 - Ruby

ruby-on-rails - Mechanize 和 Capybara 的区别(使用 webmock/webkit/selenium)

JavaScript 正则表达式 : Ignore closing bracket when enclosed in parentheses

c - C语言中如何确定无符号长整型的范围?