jo, to bude ono... nejak jsem si to neuvedomil... diky moc Martin
Petr Prikryl napsal(a): > Martin Jedlička > >> mám takovýto kus zdrojáku pro hledání souboru *.sch: >> >> RegVyrazSCH = >> re.compile( >> r"(?P<souborsch>\d{4}-\d{1,3}-[-a-zA-Z0-9]+-\d{1,3}\.sch)") >> > [...] > >> potřeboval bych vědet, jak hledat soubor pomocí regulárního výrazu s >> proměnnou, tedy když bych chtěl mít v regulárním výrazu místo \d{4} >> nějakou proměnnou, v které by bylo čtyřmístné číslo, které se >> bude měnit. >> > > Vzorek pro regulární výraz je řetězec. Řetězec si můžu kdykoliv > zkonstruovat. Pokud tomu rozumím dobře, pak se má používat > dynamicky se měnící vzorek, vypadající například takto: > > r"(?P<souborsch>1234-\d{1,3}-[-a-zA-Z0-9]+-\d{1,3}\.sch)" > > kde 1234 je konkrétní předpona určená obsahem proměnné. > Konkrétně si na vhodném místě můžu generovat vzorek... > > vzorek = r"(?P<souborsch>" + s + r"-\d{1,3}-[-a-zA-Z0-9]+-\d{1,3}\.sch)" > > kde s naplním řetězcovou podobou toho čísla v očekávaném > tvaru. Příklad: > > >>>> i = 5 >>>> s = '%04d' % i >>>> s >>>> > '0005' > > Další problém v uvedeném příkladu je ten, že se regulární > výraz kompiluje na začátku. V tomto případě se bude muset > kompilovat po každé změně vzorku -- nebo se musí použít > varianta příkazu bez kompilace. > > pepr > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python