setTimeoutValue
setTimeoutValue(timeoutInMilliseconds: Integer): JadeRegexPattern;
This method returns its own modified receiver, to allow call chaining. (By default, a Regex call does not time out; that is, the default value is zero (0).)
Call the setTimeoutValue method of the JadeRegexPattern class with the timeoutInMilliseconds parameter set to required number of milliseconds after which a single Regex call times out.
The following is an example of the setTimeoutValue method.
setTimeoutValueExample(possiblyDangerousRegex : String; text : String): String; vars pattern : JadeRegexPattern; match : JadeRegexMatch; timedout : Boolean; begin on JadeRegexException do timeoutExceptionHandler(timedout); create pattern; pattern.setTimeoutValue(1000).compile(possiblyDangerousRegex); pattern.findFirst(text, match); if timedout then logger.info("the user-provided expression '"&possiblyDangerousRegex&"' timed out."); return null; endif; return match.value; epilog delete match; delete pattern; end;
Because a pattern can be inefficient, malicious, or the provided data so big that the Regex operation can take far too long, you can call this method if you want a single Regex operation to time out after a specified number of milliseconds.
By default, Regex operations do not time out.
2020.0.01 and higher