A null string is considered longer than no match at all. If case-independent matching is specified, the effect is much as if all case distinctions had vanished from the alphabet. No particular limit is imposed on the length of REs. Having two kinds of REs is a botch. Avoid relying on it.
Back references are a dreadful botch, posing major prob- lems for efficient implementations.
Avoid using them. 1003.2's specification of case-independent matching is vague. The syntax for word boundaries is incredibly ugly.