[ksh93-integration-discuss] Concatenation of pattern
Glenn Fowler
gsf at research.att.com
Sun Nov 5 18:18:42 PST 2006
On Sun, 5 Nov 2006 19:11:06 +0100 Josh Hurst wrote:
> Can I concatenate shell pattern and ~(E) pattern in one [[ str == pat
> ]] expression?
there are a few issues for ~(E):
the affect on the underlying matcher -- ~(E) (extended) REs are not anchored,
whereas ksh REs are
~(E) puts the RE lexer into extended RE syntax, where (?K) is the syntax
to switch to ksh RE mode (borrowed from perl syntax)
the last mode of ~(E) or (?K) left to right determines the mode of the RE,
i.e., anchoring
this example should print 0 1 0 0 0 1 0 0
print $(
[[ bxz == @(a|b)?z ]]; print $?
[[ xbxzx == @(a|b)?z ]]; print $?
[[ bxz == ~(E)(a|b).z ]]; print $?
[[ xbxzx == ~(E)(a|b).z ]]; print $?
[[ bxz == ~(E)(a|b)(?K)?z ]]; print $?
[[ xbxzx == ~(E)(a|b)(?K)?z ]]; print $?
[[ bxz == @(a|b)~(E).z ]]; print $?
[[ xbxzx == @(a|b)~(E).z ]]; print $?
)
-- Glenn Fowler -- AT&T Research, Florham Park NJ --
More information about the ksh93-integration-discuss
mailing list