Zdravím, zrovna se hraju v Pythonu s regexp a narazil jsem na menší zádrhel. Mám následující řetězec:
"<a>One <a>Two</a> Three</a> <a>Four</a>" A následující regexp: "<(?P<name>\w+)>(?P<text>.*?)</(?P=name)>" Když to proženu přes 'search', dostanu pro první nalezený výraz tohle: "One <a>Two" Ale očekával bych spíše: "One <a>Two</a> Three" Naopak, pokud upravím regexp na: "<(?P<name>\w+)>(?P<text>.*)</(?P=name)>" Tedy vynechám otazník. Výraz .* pak bere vše, co mu přijde do cesty, takže výsledek metody 'search' je: "One <a>Two</a> Three</a> <a>Four" Takže to také není to pravé ořechové. Rád bych to vyřešil nějak elegantně, nejlépe pomocí regexp (když už se je teda učím :) ), ale zatím jsem nenarazil na nic funkčního. Dá se podobný problém vůbec řešit čistě pomocí regularnich výrazů, nebo ne? Btw. k testování reg. výrazů používám prográmek http://kodos.sourceforge.net Rozhodně můžu doporučit. S pozdravem, Vlastimil S. _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python