Extended Pattern Matching

API

Extended Pattern Matching.

matchor.is_pattern(pattern)[source]

Return True if pattern contains * or ?.

matchor.match(name, pattern)[source]

Return True if name matches pattern.

Pattern may contain * and ?. * matches any characters, ? matches exactly one character.

>>> match('foo', 'foo')
True
>>> match('foo', '*')
True
>>> match('foo', 'bar*')
False
>>> match('foo', 'fo?')
True
matchor.matchs(name, patterns) bool[source]

Return True if name matches element of patterns.

Pattern may contain * and ?. * matches any characters, ? matches exactly one character.

>>> matchs('foo', ['foo', 'bar'])
True
>>> matchs('foo', ['*'])
True
>>> matchs('foo', ['bar*', 'baz'])
False
>>> matchs('ba', ['bar*', 'baz'])
False
>>> matchs('baz', ['bar*', 'baz'])
True
>>> matchs('baz2', ['bar*', 'baz'])
False
matchor.matchsp(name, patterns)[source]

Return matching pattern if name matches element of patterns.

Pattern may contain * and ?. * matches any characters, ? matches exactly one character.

>>> matchsp('foo', ['foo', 'bar'])
'foo'
>>> matchsp('foo', ['*'])
'*'
>>> matchsp('foo', ['bar*', 'baz'])
>>> matchsp('ba', ['bar*', 'baz'])
>>> matchsp('baz', ['bar*', 'baz'])
'baz'
>>> matchsp('baz2', ['bar*', 'baz'])

Indices and tables