zeroonnet Posted October 14, 2007 at 02:53 PM Report Share #139999 Posted October 14, 2007 at 02:53 PM Boas, epa tenho este código: public Regex MyRegex = new Regex( "<td class=\"(.*)\"><a title='<span>(.*)</span><br/>(.*)' id=" + "'dest0' href='javascript:PreviewProgram(\"([0-9])\");'>(.*)<" + "/a></td></tr><tr><td align=\"center\" class=\"(.*)\" >(.*)</" + "td>", RegexOptions.CultureInvariant | RegexOptions.Compiled ); //depois dentro do form_load tenho: StreamReader fi = File.OpenText("http.html"); string input = null; //string input2 = null; while ((input = fi.ReadLine()) != null) { Match m = MyRegex.Match(input); listBox1.Items.Add(m); } fi.Close(); e eu quero fazer o seguinte: tenho esta linha no http.html: <td class="epgFilm"><a title='<span>O Cabo Do Medo</span><br/>Depois de passar 14 anos na prisão, um psicopata volta para se vingar do advogado que o condenou, at...' id='dest0' href='javascript:PreviewProgram("364070341");'>O Cabo Do Medo</a></td></tr> <tr><td align="center" class="epgPos epgTime" >2:24</td> e dai queria tirar: O cabo do medo 364070341 2:24 só que não me tá a retornar nada :S será que agluém me pode ajudar? Fiquem Bem. Link to comment Share on other sites More sharing options...
Betovsky Posted October 14, 2007 at 07:22 PM Report Share #140056 Posted October 14, 2007 at 07:22 PM Hmm... Não estive a experimentar, mas onde tens [0-9] não devia de ser [0-9]+ ? "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
zeroonnet Posted October 14, 2007 at 07:35 PM Author Report Share #140063 Posted October 14, 2007 at 07:35 PM ja tentei pro e mesmo assim não dá... mas acho que o problema tá aqui: "'dest0' href='javascript:PreviewProgram(\"([0-9])\");'>(.*)<" pois se eu escolher só a primeira linha dá bem xD Link to comment Share on other sites More sharing options...
pedrotuga Posted October 14, 2007 at 09:09 PM Report Share #140082 Posted October 14, 2007 at 09:09 PM pois...... "[0-9]" se bem me lembro deve devolver só um caracter... para apanhares um numero arbitrario de caracteres deve usar um asterisco tal como fazes para o metacaracter ".""'dest0' Experimenta assim: href='javascript:PreviewProgram(\"([0-9]*)\");'>(.*)<" Link to comment Share on other sites More sharing options...
rolando2424 Posted October 15, 2007 at 09:24 PM Report Share #140304 Posted October 15, 2007 at 09:24 PM Eu já te disse no irc, mas deixo a resposta aqui também (assim, se te esqueceres, podes vir aqui buscar 😉) Apesar de o regex ter sido feito no Python, ele deverá de ser semelhante. >>> t = """<td class="epgFilm"><a title='<span>O Cabo Do Medo</span><br/>Depois de passar 14 anos na prisão, um psicopata volta para se vingar do advogado que o condenou, at...' id='dest0' href='javascript:PreviewProgram("364070341");'>O Cabo Do Medo</a></td></tr> >>> pattern = re.compile("\D*\<span\>([\D|\d]*)\<\/span>[\D|\d]*PreviewProgram\(\"(\d*)\"\)[\D|\d]*epgTime\"\ \>(\d*\:\d*)") >>> re.search(pattern, t).groups() ('O Cabo Do Medo', '364070341', '2:24') (A parte a negrito é o que interessa 🙂 ) Não me responsabilizo por qualquer dano ocorrido no seguimento dos meus conselhos. Prontos, a minha pessoa está oficialmente protegida legalmente 😄 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