[ library(regex) | Reference Manual | Alphabetic Index ]
compile_pattern(+Pattern, +Options, -CompiledPattern)
Precompile a pattern for repeated use
- Pattern
- A string
- Options
- List of atoms
- CompiledPattern
- Output: a compiled pattern handle
Description
	All matching predicates in this library accept either a regular
	expression in string form, or a precompiled regular expression.
	The matching predicates will execute faster if invoked with a
	precompiled pattern instead of the string.  Whenever a pattern
	needs to be matched more than once, it will typically be more
	efficient to work with a precompiled pattern.
	
    	Options is a (possibly empty) list of atomic option names,
	as described in the library(regex) page.  The options give here
	should be the same as the ones given to the matching-predicates later.
	
	The space consumed by the compiled pattern will be automatically
	reclaimed on failure, or on garbage collection when no longer needed.
    
Modes and Determinism
- compile_pattern(+, +, -) is det
Fail Conditions
None
Examples
    ?- compile_pattern("ab+a", [], C),
       match(C, "bbabbbaab", [], M1),
       match(C, "abacus", [], M2).
    C = 'HANDLE'(16'00025c60)
    M1 = "abbba"
    M2 = "aba"
    Yes
    
See Also
library(regex), match / 2, match / 3, match / 4, matchsub / 4, matchall / 4