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

rhy*_*s97 4 ruby regex literals

有人能告诉我什么样的\.,并i:with下面的系法是干什么用的?

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.'
}
Run Code Online (Sandbox Code Playgroud)

Aru*_*hit 7

在Ruby中,您可以使用%r {...}文字创建Regexps.

以下是元字符 (, ), [, ], {, }, ., ?, +, *.当它们出现在模式中时,它们具有特定含义.要从字面上匹配它们,必须反斜杠.

i用于不区分大小写的匹配.


Jus*_*ood 7

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

\.正在寻找字面意思..你需要\逃脱,因为只是使用.完全意味着其他东西(任何字符匹配).

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

基本上,你的正则表达式匹配任何结束的.gif,.jpg.png.这些也可能是.GiF因为不区分大小写的搜索.