No que diz respeito ao padrão , os resultados são undefinido :
*+?{
A
<asterisk>
,<plus-sign>
,<question-mark>
e<left-brace>
deve ser especial, exceto quando usado em um suporte expressão (consulte Expressão do suporte RE ). Qualquer um dos seguintes usos produzir resultados indefinidos:
- Se esses caracteres aparecerem primeiro em um ERE ou imediatamente após um
<vertical-line>
,<circumflex>
ou<left-parenthesis>
- Se um
<left-brace>
não fizer parte de uma expressão de intervalo válida (consulte EREs que correspondem a vários caracteres )
Qualquer tentativa de explicar consistentemente o que acontece neste caso ficaria à mercê da implementação. Indo pela resposta do @kos, eles provavelmente correspondem à expressão regular vazia.