pathex.expressions.repetitions.concatenation_repetition module

class ConcatenationRepetition(argument: object, lower_bound: int = 0, upper_bound: int | float | ... = inf)[source]

Bases: pathex.expressions.repetitions.repetition.Repetition

Examples

>>> from pathex.expressions.aliases import *
>>> from pathex.expressions.non_fundamentals import optional
>>> exp = (L('a')+2)*[1,2]
>>> assert exp.get_language() == exp.get_generator().get_language() == {'aaaa', 'aa'}
>>> exp = C('ab')*... & C('ab')*2
>>> assert exp.get_language() == exp.get_generator().get_language() == {'', 'ab', 'abab'}
>>> exp = C('ab')*2 & C('ab')*...
>>> assert exp.get_language() == exp.get_generator().get_language() == {'', 'ab', 'abab'}
>>> exp1 = optional(C('ab')) + 'x'
>>> exp2 = C('ab') * 'x'
>>> assert exp1.get_language() == exp2.get_language() == exp1.get_generator().get_language()  == exp2.get_generator().get_language() == {'x', 'abx'}
>>> exp = L('a')%[0, 2]
>>> exp1 = L('a')*[0, 2]
>>> assert exp.get_language() == exp.get_generator().get_language() == exp1.get_language() == exp1.get_generator().get_language() == {'', 'a', 'aa'}
>>> exp = L('a')+1
>>> assert exp.get_language() == exp.get_generator().get_language() == {'a'}
argument: object

The expression to be repeated