$r = new Regexp_Assemble(); is( $r->add( '54321', '\\d+' )->as_string(), '\\d+', '\\d+ absorbs multiple chars' ); $r = new Regexp_Assemble(); is( $r ->add( 'abz', 'acdez', 'a5txz', 'a7z', 'a\\d+z', 'a\\d+-\\d+z' ) # 5.6.0 kluge ->as_string(), 'a(?:b|(?:\d+-)?\d+|5tx|cde)z', 'abz a\\d+z acdez a\\d+-\\d+z a5txz a7z' ); } */ $r = new Regexp_Assemble(); $mute = $r->mutable(1); $mute->add('dog'); is($mute->as_string(), 'dog', 'mute dog'); is($mute->as_string(), 'dog', 'mute dog cached'); $mute->add('dig'); is($mute->as_string(), 'd(?:ig|og)', 'mute dog'); $r = new Regexp_Assemble(); $red = $r->reduce(0); $red->add('dog'); $red->add('dig'); is($red->as_string(), 'd(?:ig|og)', 'mute dig dog'); $red->add('dog'); is($red->as_string(), 'dog', 'mute dog 2'); $red->add('dig'); is($red->as_string(), 'dig', 'mute dig 2'); $r = new Regexp_Assemble();