Comparar valor de Regex

Bom dia meus amigos, tudo certo ?
Seguinte… Estou realizando um software que faz a tradução de um código inventado por mim para um código JAVA.
Estou utilizando expressões regulares para pegar as palavras reservadas e traduzi-las. Só que estou com dificuldades na hora de comparar o valor da expressão regular com a palavra que está no vetor. O Eclipse não aceita.
Segue um pedaço do código:

String inicializacao = VOLTA_O_CAO_ARREPENDIDO|COM_SEU_OSSO_RUIDO_E_O_RABO_ENTRE_AS_PATAS"; 

for (int i = 0; i < linhas.length; i++) {
boolean valida7 = linhas[i].matches(inicializacao);

if (valida7 == true) {
System.out.println("Token: Iniciando Codigo\nLexema: " + linhas[i] + "\nPosição: " + (i + 1) + "\n");
if (**linha[i]**.equalsIgnoreCase("VOLTA_O_CAO_ARREPENDIDO")) {
gravarArq.print("public class");
}else if (**linha[i]**.equals("COM_SEU_OSSO_RUIDO_E_O_RABO_ENTRE_AS_PATAS")) {
gravarArq.print("public static void main(String[] args)");
}
}

O erro ocorre na hora de comparar se a expressão regular for “VOLTA_O_CAO_ARREPENDIDO” quero substituir em public class por exemplo. Eu consigo apenas no caso da minha expressão regular possuir apenas um valor mas não com mais de um valor nela. Deixei entre asteriscos “*” a parte onde ocorre o erro e o eclipse avisa “The type of the expression must be an array type but it resolved to String” só que eu fico pensando, por que não consigo com vetor ?