[Cascavel-pm] Dúvida sobre expressão regular

Solli Moreira Honorio shonorio em terra.com.br
Quarta Outubro 22 20:28:42 CDT 2003


Pessoal,
Estou estudando o livro 'Real World SQL Server Administration with Perl' do Linchi Shea - ed. Apress (www.apress.com), onde o autor usa e abusa das expressões regulares para monitorar e adminstrar o MS SQL.
Bom, pra mim expressões regulares são pra lá de abstratas em alguns casos, parecendo até mesmo uma outra linguaguem, e dentre estas encontrei uma expressão no livro que eu não entendi nadinha o que ela está fazendo e por isto eu gostaria de pedir ajuda aos monges.
O cara vai ler um arquivo com dados parecidos como "Index Scan(OBJECT:([pubs].[dbo].[jobs].[jobs_ix])" e aí o código faz a manipulação maluca abaixo.
if (m{^[\s | \d | \|]*\|\-\-
( Clustered\s+Index\s+Seek | Clustered\s+Index\s+Scan |
Clustered\s+Index\s+Delete | Clustered\s+Index\s+Update |
Clustered\s+Index\s+Insert | Index\s+Seek | Index\s+Scan |
Index\s+Delete | Index\s+Update | Index\s+Insert | Table\s+Scan
)
\(OBJECT\:\( 
( 
(\[([^\]] | \]\])+\]) # database name
\.\[([^\]] | \]\])+\] # owner
\.\[([^\]] | \]\])+\] # object
(\.\[([^\]] | \]\])+\])? # index
)
\)
}ix)
A primeira coisa que eu não entendi é o 'm{}ix', que raio é isto ? É um match ? e depois o resto .... também fiquei boiando.
Abraços,
Solli M. Honorio
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20031022/42c266e1/attachment.htm


Mais detalhes sobre a lista de discussão Cascavel-pm