Potřebuji v textu najít a nahradit "slovo" za "jineslovo", pokud není součástí nadpisu, nebo odkazu. Používám PowerGrep. Sesmolil jsem k tomu takovýhle regexp:
slovo[^<h1>.*slovo.*</h1>][^<h2>.*slovo.*</h2>][^<a .*slovo.*</a>]
Potíž je v tom, že to z textu "slovo, následující slovo" nevybere výraz "slovo" ale "slovo, n" prostě jeste 3 znaky za tím co chci.
Nevíte někdo kde dělám chybu?
Regexp a PowerGrep
Moderátor: Moderátoři
Re: Regexp a PowerGrep
Neznam program PowerGrep, ale regular vypada dobre. Jen se mi tam nelibi to .*, coz je tzv. zravy kvantifikator. Kdyz mas potom kod
Tak z tohoto kodu Ti .* sebere vsechno az do toho druheho ukoncovaciho tagu </a>. Je proto vhodnejsi pouzivat vylucovaci metodu. V tomto pripade napr. [^>]*
Kód: Vybrat vše
<a href="odkaz.htm">text</a>text_text<a href="dalsi.htm">text</a>
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1
YouCan.cz - tvorba webových stránek a internetových projektů na míru
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1
YouCan.cz - tvorba webových stránek a internetových projektů na míru