[python] regulární výrazy
starenka .
starenka0 na gmail.com
Úterý Červen 23 16:31:39 CEST 2015
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 at 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 at py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
Další informace o konferenci Python