mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 23:07:17 +00:00
53 lines
2.4 KiB
Plaintext
53 lines
2.4 KiB
Plaintext
# test regex from re1.5
|
|
import re
|
|
|
|
# standard use of lib
|
|
assert(re.search("a.*?b(z+)", "zaaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
assert(re.searchall('<([a-zA-Z]+)>', '<abc> yeah <xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
|
|
assert(re.match("a.*?b(z+)", "aaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
assert(re.match2("a.*?b(z+)", "aaaabbbccbbzzzee") == [14, 'zzz'])
|
|
assert(re.matchall('<([a-zA-Z]+)>', '<abc> yeah <xyz>') == [['<abc>', 'abc']])
|
|
assert(re.matchall('<([a-zA-Z]+)>', '<abc><xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
assert(re.split('/', "foo/bar//baz") == ['foo', 'bar', '', 'baz'])
|
|
|
|
# pre-compile
|
|
var rr
|
|
rr = re.compile("a.*?b(z+)")
|
|
assert(rr.search("zaaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
rr = re.compile('<([a-zA-Z]+)>')
|
|
assert(rr.searchall('<abc> yeah <xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
|
|
rr = re.compile("a.*?b(z+)")
|
|
assert(rr.match("aaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
assert(rr.match2("aaaabbbccbbzzzee") == [14, 'zzz'])
|
|
rr = re.compile('<([a-zA-Z]+)>')
|
|
assert(rr.matchall('<abc> yeah <xyz>') == [['<abc>', 'abc']])
|
|
assert(rr.matchall('<abc><xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
rr = re.compile('/')
|
|
assert(rr.split("foo/bar//baz") == ['foo', 'bar', '', 'baz'])
|
|
|
|
# compile to bytes
|
|
var rb
|
|
rb = re.compilebytes("a.*?b(z+)")
|
|
assert(re.search(rb, "zaaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
assert(rb == bytes('1B0000000F0000000100000062030260FB7E00016162030260FB01627E02017A62FC7E037E017F'))
|
|
|
|
rb = re.compilebytes('<([a-zA-Z]+)>')
|
|
assert(re.searchall(rb, '<abc> yeah <xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
assert(rb == bytes('1A0000000C0000000100000062030260FB7E00013C7E020302617A415A62F87E03013E7E017F'))
|
|
|
|
rb = re.compilebytes("a.*?b(z+)")
|
|
assert(re.match(rb, "aaaabbbccbbzzzee") == ['aaaabbbccbbzzz', 'zzz'])
|
|
assert(re.match2(rb, "aaaabbbccbbzzzee") == [14, 'zzz'])
|
|
assert(rb == bytes('1B0000000F0000000100000062030260FB7E00016162030260FB01627E02017A62FC7E037E017F'))
|
|
|
|
rb = re.compilebytes('<([a-zA-Z]+)>')
|
|
assert(re.matchall(rb, '<abc> yeah <xyz>') == [['<abc>', 'abc']])
|
|
assert(re.matchall(rb, '<abc><xyz>') == [['<abc>', 'abc'], ['<xyz>', 'xyz']])
|
|
assert(rb == bytes('1A0000000C0000000100000062030260FB7E00013C7E020302617A415A62F87E03013E7E017F'))
|
|
|
|
rb = re.compilebytes('/')
|
|
assert(re.split(rb, "foo/bar//baz") == ['foo', 'bar', '', 'baz'])
|
|
assert(rb == bytes('0C000000070000000000000062030260FB7E00012F7E017F'))
|