=>a
1 a
1 a | a
0 b
=>a|b
1 a
1 b
1 a | b
0 a{0}
0 b{0}
=>a | b | a
1 a
1 b
1 a | b
1 b | a
1 a | b | b
1 a | b | a
1 b | a | b
=>a,a
1 a,a
0 a
0 a,a,a
=>a{0,3}
1 a{3}
1 a
1 a,a,a
1 a{1,3}
=>(a|b){0,4}
1 a
1 b
1 a,b
1 a,b,a,b
0 b,a,b,a,b
1 b,a{1,3}
1 a{1,3},b
0 a{1,3},b,a
0 a{1,4},b
0 a{0,5}
1 (b|a){0,4}
0 (b|a){0,4},a
1 (a,b){0,2}
1 (a,b){0,1},b
=> a*
1 a
1 a?
1 a+
1 a*
1 a{0}
=> a+
1 a
0 a?
1 a+
0 a*
1 a?,a
1 a,a*
1 a*,a
1 a?,a*,a
1 a*,a?,a
=>(a|b)*
1 a
1 b
1 a,b
1 a,b,a,b
1 (b|a){0,4}
1 (b|a){0,4},a
1 a*
1 b*
1 (a|b)*
1 a{1,3}
1 b,a{1,3}
1 a{1,3},b
1 a*,(a|b)*
1 a*,b{2,5}
1 a*,(a|b)*,b{2,5}
=>(a|b)+,(c|d)
1 a+,c
0 a*,c
1 a,c
1 a,b*,a*,c
# more complex
=>(a|b),(a|c){0,100}
1 a{0,100},(a|c)
0 a{0,101},(a|c)
# the example from cmsmcq at extreme markup 05
=>(a, ((b, c, d){0,5}, e{0,1}){0,4}, f)
1 (a, b, (c, d, b){2,3}, c, d, e, f)