¿El carácter multibyte interfiere con el carácter de la línea final dentro de una expresión regular?

Con esta expresión regular:

regex1 = /\z/

las siguientes cadenas coinciden:

"hello" =~ regex1 # => 5
"こんにちは" =~ regex1 # => 5

Pero con estas expresiones regulares:

regex2 = /#$/?\z/
regex3 = /\n?\z/

muestran diferencia

"hello" =~ regex2 # => 5
"hello" =~ regex3 # => 5
"こんにちは" =~ regex2 # => nil
"こんにちは" =~ regex3 # => nil

¿Qué está interfiriendo? La codificación de cadena es UTF-8, y el sistema operativo es Linux (es decir,$/ es"\n"). Son los caracteres multibyte que interfieren con$/? ¿Cómo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta