Os colchetes representam qualquer um dos caracteres entre parênteses, de modo que [ing]
represente um único 'i', 'n' ou 'g'. Você provavelmente está procurando por .*(ing|;)$
, em que os parênteses representam uma substring específica. O pipe ainda representa uma disjunção tal que uma string termina em 'ing' ou ';' é correspondido por essa expressão.