> match negative multi-byte strings
in perl5, I'd tend to do
m/(?:(?!union).)*/is
or to capture
m/((?:(?!union).)*)/is
I suppose you could use union\b instead of union if you wanted allow
'unions' but disallow 'union'. The general idea is "gobble up each
character that isn't the start of 'union' (or union\b as you prefer).
In my unpracticed perl6, I *think* that gives you
noncapturing:
rx:i/[<!before union>.]*/
capturing:
rx:i/([<!before union>.]*)/
....but better perl6ers than I may spot translation issues there. The
same \b note would apply here (if it's still called \b in perl6 :)
Also, I haven't benchmarked this against the other perl5 solutions
posted here, so this could be horribly inneficient (in perl5, but maybe
per6 will like my way better ;)
-matt