mirror of git://git.code.sf.net/p/zsh/code
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
COMMENT(!MOD!zsh/regex
|
|
Interface to the POSIX regex library.
|
|
!MOD!)
|
|
cindex(regular expressions)
|
|
cindex(regex)
|
|
The tt(zsh/regex) module makes available the following test condition:
|
|
|
|
startitem()
|
|
findex(regex-match)
|
|
item(var(expr) tt(-regex-match) var(regex))(
|
|
Matches a string against a POSIX extended regular expression.
|
|
On successful match,
|
|
matched portion of the string will normally be placed in the tt(MATCH)
|
|
variable. If there are any capturing parentheses within the regex, then
|
|
the tt(match) array variable will contain those.
|
|
If the match is not successful, then the variables will not be altered.
|
|
|
|
For example,
|
|
|
|
example([[ alphabetical -regex-match ^a+LPAR()[^a]PLUS()+RPAR()a+LPAR()[^a]+PLUS()+RPAR()a ]] &&
|
|
print -l $MATCH X $match)
|
|
|
|
If the option tt(REMATCH_PCRE) is not set, then the tt(=~) operator will
|
|
automatically load this module as needed and will invoke the
|
|
tt(-regex-match) operator.
|
|
|
|
If tt(BASH_REMATCH) is set, then the array tt(BASH_REMATCH) will be set
|
|
instead of tt(MATCH) and tt(match).
|
|
|
|
Note that the tt(zsh/regex) module logic relies on the host system. The
|
|
same var(expr) and var(regex) pair could produce different results on different
|
|
platforms if a var(regex) with non-standard syntax is given.
|
|
|
|
For example, no syntax for matching a word boundary is defined in the POSIX
|
|
extended regular expression standard. GNU tt(libc) and BSD tt(libc) both provide
|
|
such syntaxes as extensions (tt(\b) and tt([[:<:]])/tt([[:>:]]) respectively),
|
|
but neither of these syntaxes is supported by both of these implementations.
|
|
|
|
Refer to the manref(regcomp)(3) and manref(re_format)(7) manual pages on your
|
|
system for locally-supported syntax.
|
|
)
|
|
enditem()
|