Article View: pl.comp.lang.perl
Article #51682Re: Wyrazenie regularne - jak poprawic... [Dlugie]
From: Kap
Date: Wed, 25 Nov 2009 13:57
Date: Wed, 25 Nov 2009 13:57
81 lines
3819 bytes
3819 bytes
Kap pisze:
> Witam. Mam taki problem kurcze i nie wiem jak to obejsc. Perla nie znam
> praktycznie wcale. Mam oto taki kodzik (nie moj) i musze go delikatnie
> zmodyfikowac. Wyrazenie filtruje kod html strony...
>
> ponizej mam wzorzec (caly)
>
> $accounts_re = qr{
> <p[ ]class="Account">
> <a[ ]id="\w+"[ ]title="Wybierz[ ]ten[ ]rachunek"[ ]onclick="([^"]*)"
> [^>]*?>
> (.+?) [ ] (\d\d[ ]\d\d\d\d[ ]\d\d\d\d[ ]\d\d\d\d[ ]\d\d\d\d[ ]\d\d\d\d[
> ]\d\d\d\d)
> </a>
> </p>
> <p[ ]class="Amount">
> <a[ ]id="\w+"[ ]title="Zobacz[ ]operacje[ ]z[ ]ostatnich[ ]14[ ]dni"
> [^>]*? onclick="([^"]*)" [^>]*?>
> (-?[0-9 ,]+) [ ] ([A-Z]+)
> </a>
> </p>
> <p[ ]class="Amount">
> <span[ ]id="\w+">
> (-?[0-9 ,]+) [ ] ([A-Z]+)
> </span>
> </p>
> }x;
>
> dokladnie chodzi o linijke
>
> <a[ ]id="\w+"[ ]title="Wybierz[ ]ten[ ]rachunek"[ ]onclick="([^"]*)"
>
> Do wzorca (tylko do wyzej znajdujacego sie kawalka)
>
> pasuje taki kod znajdujacy sie w pliku html
>
> <a id="AccountsGrid_grid_ctl02_MLink_0_0" title="Wybierz ten rachunek"
> onclick="doSubmit('account_details.aspx','','POST'
> ,'jX+4yQigsXKVpZzD57noale9iTkPxSvFj9kWLKuLDwsctwgs
> fUSvcMaPnujuvXK+IUZ7Ps0HHSpw+xi92mD0DkU0pQsICYhMpT
> uKH+MC3d5/yTr7VoSZ/wGdRx7GzjEN5elhjaYV5zfns0pdbmqEqK6bXHTDusqw3NE3Agb
> ek7RhUWhe2DVhtIJwfCEaxe5c7aKh5K7zeCgPnr9HeEGQT0J9M
> HRvBsAQds3J32jbDFU=',false,false,false,null); return false;"
> onmouseover="window.status = ''; return true;" href="#">
>
> pasuje rowniez
>
> <a id="AccountsGrid_grid_ctl03_MLink_1_0" title="Wybierz ten rachunek"
> onclick="doSubmit('mobile_account_details.aspx','','POST',
> 'TlHUkx6aP1SCCC/4beAwuzygn6UpNbcE7djy4nsngQQU8iWp+mf7VOQDbIEW+gwb0
> eQgItu53MWYvV6drtV5m39e2l3L2gVzUiFLOlhYRMDGnrdbl9n
> 7v6+vXUeESqrctrcineVfdiFUq9LtvxbjCpThzv9cWVVj8B6BQ
> zJTd6eX5+hSBT4D3xDzeS7CbJtc8Ezh+H6d6iXBpDgrS3XOYRt
> WVTFyLVI+6YlAQvaK+dhF+7yt8LVwjbGpb+tdfqnovUy3DaT2K
> ShksCzWJ2r9IA==',false,false,false,null); return false;"
> onmouseover="window.status = ''; return true;" href="#">
>
> I tego powyzej chce sie pozbyc - wystarczyloby chyba uscislic wzorzec
> oryginalny
>
> <a[ ]id="\w+"[ ]title="Wybierz[ ]ten[ ]rachunek"[ ]onclick="([^"]*)"
> [^>]*?>
>
> dodajac np doSubmit=('account_i dalej no wlasnie...
>
> <a[ ]id="\w+"[ ]title="Wybierz[ ]ten[ ]rachunek"[
> onclick="doSubmit=('account_) [^>]*?>
>
>
> nie wiem co dalej i jak ten kawalek powinien byc zapisany
> bo wystapilby tam nawias "(" oraz "'"
>
> Wszystkie moje wysilki spelzly na niczym :-(((
> Dlatego prosze o pomoc.
>
> Kap
W porzdku Panowie, poradzilem sobie. Za rada znajomego dodalem ifa w
petli przeszukujacej kod html przed wzorcem znajdujacym sie powyzej. W
ifie dolozylem wyszukiwanie slowa mobile zeby odsiac niepotrzebna fraze.
Najwazniejsze ze dziala.
Technical Details
Message-ID:
<hejda0$9dl$1@atlantis.news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mailReferences:
<hehqdb$dcl$1@nemesis.news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail From: Kap <kptt@wp.pl> Newsgroups: pl.comp.lang.perl Subject: Re: Wyrazenie regularne - jak poprawic... [Dlugie] Date: Wed, 25 Nov 2009 14:57:51 +0100 Organization: TP - http://www.tp.pl/ Lines: 81 Message-ID: <hejda0$9dl$1@atlantis.news.neostrada.pl> References: <hehqdb$dcl$1@nemesis.news.neostrada.pl> NNTP-Posting-Host: emj50.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.neostrada.pl 1259157633 9653 83.15.169.50 (25 Nov 2009 14:00:33 GMT) X-Complaints-To: usenet@news.neostrada.pl NNTP-Posting-Date: Wed, 25 Nov 2009 14:00:33 +0000 (UTC) User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) In-Reply-To: <hehqdb$dcl$1@nemesis.news.neostrada.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit