Ejemplo n.º 1
0
    $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();