Show
Ignore:
Timestamp:
06/20/05 10:09:18 (4 years ago)
Author:
ogawa
Message:

Brush split_keywords algorithm.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • all-keywords/trunk/all-keywords.pl

    r87 r88  
    6060    $string = lc $string unless $case_sensitive; 
    6161 
    62     # keywords separated by whitespaces 
    63     return split(/\s+/, $string) unless $string =~ m/[\[\]"';,|]/; 
    64  
    65     # keywords separated by non-whitespaces 
    66     while ($string =~ m/(\[[^]]+\]|"[^"]+"|'[^']+'|[^;,|]+)/g) { 
    67         my $keyword = $1; 
    68         $keyword =~ s/(^[\["'\s;,|]+|[\]"'\s;,|]+$)//g; 
    69         push @keywords, $keyword if $keyword; 
     62    if ($string =~ m/[;,|]/) { 
     63        # keywords separated by non-whitespaces 
     64        while ($string =~ m/(\[[^]]+\]|"[^"]+"|'[^']+'|[^;,|]+)/g) { 
     65            my $keyword = $1; 
     66            $keyword =~ s/(^[\["'\s;,|]+|[\]"'\s;,|]+$)//g; 
     67            push @keywords, $keyword if $keyword; 
     68        } 
     69    } else { 
     70        # keywords separated by whitespaces 
     71        while ($string =~ m/(\[[^]]+\]|"[^"]+"|'[^']+'|[^\s]+)/g) { 
     72            my $keyword = $1; 
     73            $keyword =~ s/(^[\["'\s]+|[\]"'\s]+$)//g; 
     74            push @keywords, $keyword if $keyword; 
     75        } 
    7076    } 
    7177    @keywords;