[python] regulární výrazy
Ales Zoulek
ales.zoulek na gmail.com
Úterý Červen 23 18:36:44 CEST 2015
A nebo to delat primo jednim regexpem s pojmenovanejma skupinama
In [14]: re.match(r"^(?P<cisla>[0-9]+)|(?P<pismena>[a-z]+)$",
"sadbc").groupdict()
Out[14]: {'cisla': None, 'pismena': 'sadbc'}
In [15]: re.match(r"^(?P<cisla>[0-9]+)|(?P<pismena>[a-z]+)$",
"21312321").groupdict()
Out[15]: {'cisla': '21312321', 'pismena': None}
On Tue, Jun 23, 2015 at 4:32 PM starenka . <starenka0 na gmail.com> wrote:
> pisu z hlavy, ale melo by to fungovat... ber to jako odrazovej mustek treba
>
>
> import re
> RES = dict(rele=re.compile(r'^[01]{10}$'),
> napeti=re.compile(r'^[01]{2}$'),
> teplota=re.compile(r'^(\d{4}\|){3}$'),
> datum=re.compile(r'^\d{2}\.\d{2}\.20\d{2} \d{2}\:\d{2}:\d{2}$'))
>
>
> def meh(s):
> for key, regexp in RES.items():
> if re.match(regexp, s):
> return key
> else:
> return None
>
>
> def test_meh():
> assert meh('01') == 'napeti'
> assert meh('0101010101') == 'rele'
> assert meh('1256|1360|1150|') == 'teplota'
> assert meh('23.06.2015 16:01:35') == 'datum'
>
> assert not meh('blablabla')
> assert not meh('02')
> assert not meh('1234|123')
> assert not meh('')
> ---
> In Perl you shoot yourself in the foot, but nobody can understand how
> you did it. Six months later, neither can you. | print
> 'aknerats'[::-1]
>
>
> 2015-06-23 16:11 GMT+02:00 "Ing. Vladislav Ludík" <vlada na ludik.cz>:
> > Zdravím,
> >
> > moje elektronika mi vrací po sériovém portu několik druhů dat:
> >
> > stav relé: "010101010101" - 10-ti místný výstup 0 nebo 1
> > stav napětí: "01" - 2-místný výstup 0 nebo 1
> > stav teplot: "1256|1360|1150|" 15-ti místný výstup tří skupin oddělených
> |
> > datum a čas: "23.06.2015 16:01:35" 19-ti místný výstup
> >
> > Složitě to otestovat umím.
> > Test by měl rozpoznat chybnou délku, formát a nelegální znaky testovaných
> > dat.
> > Chtěl bych použít co nejjednodušší test.
> > Zatím se mi to moc nedaří.
> > Poradí mi někdo ?
> >
> > Díky Vláďa
> >
> >
> > _______________________________________________
> > Python mailing list
> > python na py.cz
> > http://www.py.cz/mailman/listinfo/python
> >
> > Visit: http://www.py.cz
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150623/06521bb5/attachment.html>
Další informace o konferenci Python