Regexp.timeout
日本語のリファレンスマニュアルにはまだ記載なし (2023/2/18)
正規表現のマッチにタイムアウトを設定する
Ruby3.2.0より導入
デフォルト値はnil
code:test.rb
Regexp.timeout = 1
/(\d{2}+)+$/.match("1" * 100 + "a")
code:ruby
❯ ruby test.rb
test.rb:2:in `match': regexp match timeout (Regexp::TimeoutError)
from test.rb:2:in `<main>'
参考
timeoutがうまく効かないパターンが有るようだが限定的