python a RE
Michal Muhlpachr
michalm na pvt.net
Středa Leden 21 22:09:25 CET 1998
Dan Ohnesorg, admin of POWER wrote:
>
> BTW: neznate nekdo ceskou konferenci o pythonu, asi ne, ze
Klidne zridim, je-li zajem (prihlasi se mi alespon 5 zajemcu
na soukromou adresu? - staci i mene, vsechno revolucni
zacina od mala :-) )
> co me trapi:
> v nasledujicim kousku kodu
>
> for item in msg.headers:
> for pat in mm_cfg.FILTER_HEADERS:
> if regexp.match(pat,item) != -1:
> msg.headers.remove(item)
Neni dobre iterovat pres list, ktery pri iteraci
menis (mazes z nej). To nedopadne vetsinou dobre :-)
> porovnavam
>
> item = Received: from max.feld.cvut.cz (max.feld.cvut.cz
> pat = ^X-pmrqc:.
>
> at porovnavam proti -1, nule, None vzdycky to vypada, ze item
> vyhovuje patternu. Pritom nevidim duvod, proc by to tak melo byt,
> nemohl by mi nekdo, kdo ma zkusensti s RE rict, jestli je to ok nebo
> ne?
Pouzivas regex, ne re
Pokud mas Python 1.5 je lepsi pouzivat re, je to
kompatibilni s Perlem a regex je uz oznacen jako obsolescence.
Nevim, kde je problem, me to funguje OK.
Priklad:
>>> import regex
>>> item = 'Received: from max.feld.cvut.cz (max.feld.cvut.cz'
>>> pat = '^X-pmrqc:.'
>>> regex.match(pat, item)
-1
>>> pat = '^X-pmrqc:'
>>> regex.match(pat, item)
-1
>>> pat = '^X-pmrqc'
>>> regex.match(pat, item)
-1
>>> regex.match(pat, item) != -1
0
>>> pat = '^Received:'
>>> regex.match(pat, item)
9
>>> regex.match(pat, item) != -1
1
Vliv na funkci regex muze mit regex_syntax.py v lib,
ale ne pri tom paternu, ktery uvadis.
Jestli to neni tou spatnou iteraci?
Takze jestli je mozno poskytnout vice informaci,
mohu byt napomocen.
> diky
> dan
> ________________________________________
> DDDDDD
> DD DD Dan Ohnesorg, supervisor on POWER
> DD OOOO Dan na feld.cvut.cz
> DD OODDOO Dep. of Power Engineering
> DDDDDD OO CTU FEL Prague, Bohemia
> OO OO work: +420 2 24352785;+420 2 24972109
> OOOO home: +420 311 679679;+420 311 679311
> ________________________________________
> Nekdy je rozumne o krok ustoupit, aby se prodlouzil rozbeh.
Ahoj
--
Michal Muhlpachr ________________________________
email: michalm na pvt.net http://www.pvtnet.cz
tel:+420-5-4155 8424
PVT a.s., Veveri 102, 659 10 Brno, Czech Republic
Další informace o konferenci Linux