ndm Posted September 12, 2009 at 10:14 PM Report Share #286680 Posted September 12, 2009 at 10:14 PM Boas. Não sei se é o sitio certo, mas aqui vai : Num ficheiro Html gostava de extrair todas as tags <a>, que tenham a classe Linkstyle por exemplo em <a href="http://www.qualquersite.com" classname=LinkStyle> teste </a> consigo fazer na boa, com as funções pos e copy, mas quero fazer isso com outra abordagem que me parece que seja mais rápida e mais adequada, que é o uso das expressões regulares. O delphi 7, ao contrário de outras linguagens não vêm com suporte a expressões regulares, para tal instalei o componente que está em regular-expressions.info/delphi.html tive a fazer uns testes, mas não consegui 🙂 alguem me quer dar umas luzes para o problema, e se possivel indicar um bom tutorial/manual com explicações acessiveis. Obrigado Link to comment Share on other sites More sharing options...
NCS_One Posted September 15, 2009 at 03:24 PM Report Share #287114 Posted September 15, 2009 at 03:24 PM Boas. Estás a a usar o TWebbrowser ou outro browser no teu programa ou estás só a abrir o ficheiro de texto ? Se a vida te voltar as costas aproveita e apalpa-lhe o cu. Link to comment Share on other sites More sharing options...
ndm Posted September 15, 2009 at 06:18 PM Author Report Share #287166 Posted September 15, 2009 at 06:18 PM Só o ficheiro Link to comment Share on other sites More sharing options...
pwseo Posted September 16, 2009 at 03:46 PM Report Share #287305 Posted September 16, 2009 at 03:46 PM ndm, O Freepascal traz na sua distribuição standard uma unit para expressões regulares... tenta examiná-la, talvez seja compatível com Delphi (e tenha uma interface simples de usar... o freepascal tem um exemplo que recorre a essa unit B)) Link to comment Share on other sites More sharing options...
Juan Posted October 11, 2009 at 09:00 PM Report Share #291267 Posted October 11, 2009 at 09:00 PM Desculpem por 'reviver' este tópico, mas como a pergunta não foi totalmente respondida... Esse componente que você baixou, se chama "TPerlRegEx". Coloque um componente TPerlRegEx no Form. No Exemplo ele se chamará PerlRegEx1. Para adicionar um 'regex' ao componente, basta usar PerlRegEx1.Regex := 'sua regex aqui'; Para adicionar a string que deseja verificar: PerlRegEx1.Subject := 'sua string'; Se alguma parte da string corresponde à expressão, setará a propriedade boleana "PerlRegEx1.Match" para true. Caso mais de uma parte da string corresponda coma expressão, basta usar um laço de repetição: var iQuant : Integer; begin PerlRegEx1.Regex := 'sua regex'; PerlRegEx1.Subject := 'sua string'; if (PerlRegEx1.Match) then begin //verifica se foi encontrada alguma ocorrência ShowMessage(PerlRegEx1.MatchedExpression); //exibe a expressão encontrada Inc(iQuant); while (RegEx.MatchAgain) do begin //MatchAgain é uma propriedade booleana que verifica se mais resultados foram encontrados. Inc(iQuant); ShowMessage(RegEx.MatchedExpression); // exibe outra expressão encontrada end; end; ShowMessage(IntToStr(IQuant)); // exibe a quantidade de ocorrências end; Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now