Ruby 4.1 リファレンスマニュアル

class Regexp::TimeoutError

[edit]

要約

正規表現のマッチが、設定された時間の上限を超えた場合に発生します。

上限は Regexp.timeout= でプロセス全体に対して、あるいは Regexp.new の timeout キーワード引数で正規表現ごとに設定します。

Regexp.timeout = 0.5

# バックトラックが多く発生し、線形時間で処理できない正規表現の例
/^((a|a)+)\1$/ =~ ("a" * 30 + "x") # ~> Regexp::TimeoutError

[SEE_ALSO] Regexp.timeout=, Regexp#timeout

目次

継承しているメソッド

Exceptionから継承している特異メソッド
Exceptionから継承しているメソッド