Method: Regexp#timeout
- Defined in:
- re.c
#timeout ⇒ Float?
It returns the timeout interval for Regexp matching in second. nil
means no default timeout configuration.
This configuration is per-object. The global configuration set by Regexp.timeout= is ignored if per-object configuration is set.
re = Regexp.new("^a*b?a*$", timeout: 1)
re.timeout #=> 1.0
re =~ "a" * 100000 + "x" #=> regexp match timeout (RuntimeError)
4750 4751 4752 4753 4754 4755 4756 4757 |
# File 're.c', line 4750
static VALUE
rb_reg_timeout_get(VALUE re)
{
rb_reg_check(re);
double d = hrtime2double(RREGEXP_PTR(re)->timelimit);
if (d == 0.0) return Qnil;
return DBL2NUM(d);
}
|