Imagem de fundo

Deseja-se extrair algumas informações importantes de um...

Deseja-se extrair algumas informações importantes de um conjunto de arquivos de textos. Coube a um programador a tarefa de extrair referências a decretos, normas e leis para posteriormente entender melhor qual a legislação mais utilizada nesses textos. Um código inicial, em PHP 5.5, foi enviado em um arquivo compactado que acabou sendo corrompido, e perderam-se alguns trechos importantes. O conteúdo recebido é apresentado no quadro abaixo, com identificadores numerados em negrito nos trechos que ficaram ilegíveis:



<?php


$texto= "O Consórcio de Informática na Gestão Pública Municipal – CIGA é pessoa jurídica de direito público, sob a forma de associação pública, devendo reger-se pelas normas da Constituição da República Federativa do Brasil, da Lei n.º 11.107, de 6 de abril de 2005, do Decreto n.º 6.017, de 17 de janeiro de 2007, e demais normas pertinentes, pelo presente Protocolo de Intenções e pela regulamentação que vier a ser adotada pelos seus órgãos competentes. O CIGA é um órgão público subordinado aos municípios que aderiram ou vierem a aderir ao consorciamento.";


function extr_leg($texto){


$regexp = (1)

$res = (2)

$retorno = [];

if ($res){

for ($i=0;$i<$res;$i++){


$retorno[] = (3)

}

}

return $retorno;

}


print_r(extr_leg($texto));


?>


O resultado desejado da execução é o que consta no quadro abaixo:


Array ( [0] => Array ( [0] => Lei [1] => 11.107 [2] => 2005 ) [1] =>

Array ( [0] => Decreto [1] => 6.017 [2] => 2007 ) )


Qual alternativa contém os trechos de código adequados que preenchem os identificadores (1), (2) e (3) e geram o resultado esperado?


A

(1) '/(\w+) n.º (\d+\.\d+), de (\d+) de (\w+) de (\d+)/g';

(2) $m = preg_match($regexp, $texto); $res=count($m);

(3) array( $m[1][$i], $m[2][$i], $m[5][$i]);


B

(1) '/(\w+) n.º (\d+\.\d+), de (\d+) de (\w+) de (\d+)/g';

(2) $m = preg_match($regexp, $texto); $res=count($m);

(3) array( $m[$i] );


C

(1) '/(\w+) n.º (\d+\.\d+), de (\d+) de (\w+) de (\d+)/g';

(2) preg_match_all($regexp, $texto);$res=count($m);

(3) array( $m[$i] );


D

(1) '/(\w+) n.º (\d+\.\d+), de (\d+) de (\w+) de (\d+)/';

(2) preg_match_all($regexp, $texto, $m);

(3) array( $m[0][$i], $m[1][$i], $m[4][$i] );


E

(1) '/(\w+) n.º (\d+\.\d+), de (\d+) de (\w+) de (\d+)/';

(2) preg_match_all($regexp, $texto, $m);

(3) array( $m[1][$i], $m[2][$i], $m[5][$i]);