Ok, so I stumbled across something very weird today, and I was wondering if anyone could explain it. As far as I know, \k on its own in regex means absolutely nothing apart from an unnecessary escape of the literal "k".
It DOES have a special meaning when followed by a named group such as \k<NAME> or \k'name', and these work as expected.
Yet mIRC does something strange with \k. For some reason the ONLY thing \k on its own matches in the ascii range 1-255 is ascii 85: the letter "U". The following example makes little sense to me:
//echo -a $regsubex(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,/(\k)/gi,$+($chr(3),4@,$chr(15))) - $regml(1) - $regml(1).pos
Which results in:
ABCDEFGHIJKLMNOPQRST
@VWXYZabcdefghijklmnopqrstuvwxyz - -
It obviously captures the U since it replaces it, yet it does not echo the backreference as "U" or the position of it.
Why "U"? And why such weird behaviour? Any ideas anyone?
Edit: Another very odd example is:
//echo -ag $regsubex(aUa,/a(\k)a/gi,@)
Which echoes "@a"