pathex.expressions.nary_operators.intersection module

class Intersection(*args)[source]

Bases: pathex.expressions.nary_operators.nary_operator.NAryOperator

Examples

>>> from pathex.expressions.aliases import *
>>> from functools import partial
>>> exp = 'a' + U('xy') & 'a' + U('yz')
>>> assert exp.get_language() ==  \
...     exp.get_generator().get_language() == {'ay'}
>>> exp = 'a' + U('xy') & 'a' + U('yz') + 'w'
>>> assert exp.get_language() == \
...     exp.get_generator().get_language() == set()
>>> assert exp.get_language(complete_words=False) == \
...     exp.get_generator().get_language(complete_words=False) == {'ay', 'a'}
>>> exp1 = L('a')*... & C('aaa') | C('aa')
>>> exp2 = C('aaa') | C('aa') & L('a')*...
>>> assert exp1.get_language() == \
...     exp2.get_language() == \
...     exp1.get_generator().get_language() == \
...     exp2.get_generator().get_language()
>>> exp = U('abc') + C('xyz') & U('axy') + C('xyz')
>>> assert exp.get_language() == \
...     exp.get_generator().get_language() == {'axyz'}
>>> exp = U('axy') + C('xyz') & LC('abc') + C('xyz')
>>> assert exp.get_language() == \
...     exp.get_generator().get_language() == {'xxyz', 'yxyz'}
arguments: Collection