regulares regular matchdata how expresiones example create ruby regex

regular - Un regex simple que está funcionando muy mal en Ruby



ruby regex example (1)

Por defecto no coincide con las nuevas líneas. [/s/S] es un hack alrededor de ese problema. En Ruby puedes usar la marca / m para hacer que el punto coincida con todos los caracteres. Está en la documentación Ruby Metacharacters and Escapes.

[/S/s] por una razón desconocida es muy lento pero puedes cambiarlo a "fußball "*20 =~ /^(.{1000})/mi que hace lo mismo pero más rápido

Tengo una expresión regular de Ruby que se está demorando mucho en calcular:

"fußball "*20 =~ /^([/S/s]{1000})/i

Si quito /i marca, funciona muy rápido. ¿Por qué está funcionando tan lentamente? (No esperé a que termine la ejecución)

Sé que esta expresión regular podría no tener sentido, pero me pregunto qué hay debajo del capó.

Informe de error: https://bugs.ruby-lang.org/issues/14418