Previous: Regular S-Expressions, Up: Regular Expressions [Contents][Index]
The regular s-expression implementation has two parts, like many other regular-expression implementations: a compiler that translates the pattern into an efficient form, and one or more procedures that use that pattern to match or search inputs.
Compiles regsexp by translating it into a procedure that implements the specified matcher.
The match and search procedures each return a list when they are
successful, and #f
when they fail. The returned list is of the
form (s e register …)
, where s is
the index at which the match starts, e is the index at which the
match ends, and each register is a pair (key
. contents)
where key is the register’s name and
contents is the contents of that register as a string.
In order to get reliable results, the string arguments to these
procedures must be in Unicode Normalization Form C. The string
implementation keeps most strings in this form by default; in other
cases the caller must convert the string using string->nfc
.
The crse argument must be a value returned by
compile-regsexp
. The string argument must satisfy
string-in-nfc?
.
Matches string against crse and returns the result.
The crse argument must be a value returned by
compile-regsexp
. The string argument must satisfy
string-in-nfc?
.
Searches string from left to right for a match against crse and returns the result.