i
модификатор означает, что регулярное выражение будет игнорировать регистр при сопоставлении текста.Вы можете прочитать больше о других модификаторах регулярных выражений здесь .
# with i modifier
%r{.(gif|jpg|png)$}i === ".JpG" #=> true
%r{.(gif|jpg|png)$}i === ".jpg" #=> true
# without i modifier
%r{.(gif|jpg|png)$} === ".JpG" #=> false
%r{.(gif|jpg|png)$} === ".jpg" #=> true
Примечание : .
в вашем регулярном выражении означает «любой отдельный символ, кроме новой строки», а не «точка ».Если вам нужно сопоставить символ точки, используйте обратную косую черту, чтобы избежать его: \.
%r{.(gif|jpg|png)$} === "ajpg" # => true
%r{\.(gif|jpg|png)$} === "ajpg" # => false
%r{\.(gif|jpg|png)$} === ".jpg" # => true