Changeset 1572

Show
Ignore:
Timestamp:
11/15/07 16:03:28 (6 years ago)
Author:
yappo
Message:

r10@haruna (orig r8): ko | 2006-06-21 21:15:08 +0900
Add address normalize lite.
Add 'ue' 'shita' prefix


Location:
lang/perl/Geography-AddressExtract-Japan/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Geography-AddressExtract-Japan/trunk/bin/make_maps.pl

    r1571 r1572  
    99 
    1010my $out; 
     11my $ra_city = Regexp::Assemble->new; 
     12my $ra_number = Regexp::Assemble->new; 
     13my $ra_aza    = Regexp::Assemble->new; 
     14 
     15my $dash   = '[-���ݤΥ�'; 
     16my $number = '(?:(?:[�����͸����Ȭ����)?[�����͸����Ȭ�塻]+|\d+)'; 
     17my $number_prefix = '[���������岼]'; 
     18my $numbers = sprintf("(?:%s?%s|[a-zA-Z����)", $number_prefix, $number); 
     19my $chome = sprintf("(?:%s(?:��|%s))?", $number, $dash); 
     20my $ban = '��?'; 
     21 
    1122if (0) { 
    12 my $ra_city = Regexp::Assemble->new; 
    13  
    1423my $csv = Text::CSV_PP->new({binary => 1}); 
    1524my $io = IO::File->new('./ken_all.csv', '<:encoding(shiftjis)') or die $!; 
     
    197206 
    198207} 
    199  
    200 my $ra_number = Regexp::Assemble->new; 
    201 my $ra_aza    = Regexp::Assemble->new; 
    202  
    203 my $dash   = '[-���ݤΥ�'; 
    204 my $number = '(?:(?:[�����͸����Ȭ����)?[�����͸����Ȭ�塻]+|\d+)'; 
    205 my $number_prefix = '[��������]'; 
    206 my $numbers = sprintf("(?:%s?%s|[a-zA-Z����)", $number_prefix, $number); 
    207 my $chome = sprintf("(?:%s(?:��|%s))?", $number, $dash); 
    208 my $ban = '��?'; 
    209208 
    210209$ra_number->add('\d+'); 
  • lang/perl/Geography-AddressExtract-Japan/trunk/lib/Geography/AddressExtract/Japan.pm

    r1570 r1572  
    22use strict; 
    33use warnings; 
     4use encoding "euc-jp"; 
    45 
    56use Carp; 
     
    6667        $opt{aza}    = $2 if $2; 
    6768        $opt{number} = $3 if $3; 
    68         push @{ $self->{addresses} }, Geography::AddressExtract::Japan::Address->new(%opt); 
     69 
     70        $self->normalize($', \%opt);#'); 
     71                          
     72        push @{ $self->{addresses} }, Geography::AddressExtract::Japan::Address->new(%opt); 
    6973    } 
     74} 
     75 
     76sub normalize { 
     77    my($self, $right, $opt) = @_; 
     78 
     79    if ($opt->{number} && $opt->{number} =~ /^([���������岼])/) { 
     80        my $prefix = $1; 
     81        if ($right =~ /^((?:��?)?[-���ݤΥ�?(?:(?:(?:[�����͸����Ȭ����)?[�����͸����Ȭ�塻]+|\d+)|[a-zA-Z����)��/) { 
     82            my $append = $1; 
     83            $opt->{aza} .= $prefix; 
     84            $opt->{number} =~ s/^$prefix//; 
     85            $opt->{number} .= $append; 
     86        } 
     87    } 
     88 
    7089} 
    7190 
    7291sub dedupe { 
    7392    my $self = shift; 
     93 
     94    return unless @{ $self->addresses }; 
    7495 
    7596    # sort 
  • lang/perl/Geography-AddressExtract-Japan/trunk/lib/Geography/AddressExtract/Japan/Regexp/Number.pm

    r1571 r1572  
    88    my $re = '(?-xism:(?:(?:(?:(?:[一二三四五六七八九]?十)?[一二三四 
    99五六七八九〇]+|\d+)(?:丁目|[-‐−のノ]))?(?:(?:[東西南北 
    10 左右]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+|\ 
    11 d+)|[a-zA-Za-zA-Z])(?:番地?(?:[-‐−のノ](?:[東 
    12 西南北左右]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七八九〇] 
    13 +|\d+)|[a-zA-Za-zA-Z])号?|(?:[東西南北左右]?(?: 
    14 (?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+|\d+)|[a- 
    15 zA-Za-zA-Z])号?)?|[-‐−のノ](?:[東西南北左右]?(?:( 
    16 ?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+|\d+)|[a-z 
    17 A-Za-zA-Z])号?|号)|\d+)|\d+))'; 
     10左右上下]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+ 
     11|\d+)|[a-zA-Za-zA-Z])(?:番地?(?:[-‐−のノ](?: 
     12[東西南北左右上下]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七 
     13八九〇]+|\d+)|[a-zA-Za-zA-Z])号?|(?:[東西南北左右上 
     14下]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+|\d 
     15+)|[a-zA-Za-zA-Z])号?)?|[-‐−のノ](?:[東西南北左右 
     16上下]?(?:(?:[一二三四五六七八九]?十)?[一二三四五六七八九〇]+|\ 
     17d+)|[a-zA-Za-zA-Z])号?|号)|\d+)|\d+))'; 
    1818    $re =~ s/\n//g; 
    1919    $re; 
  • lang/perl/Geography-AddressExtract-Japan/trunk/test.pl

    r1571 r1572  
    5050���Ź�����ϰ褫�餵������: ��ɩ�գƣʿ���� 
    5151(JR���������03-3492-1411. ��ͳ����, 142, �գƣʿ��, ��������ͳ������0��2 (��ͳ���ֱ����˪�βȱ���� 03-3718-1147 ... ������, 
    52 610, ��ɩ���, ��������Բ������������(�;��������, 075-211-7161 ... 
     52610, ��ɩ���, ��������Բ�������������;��������, 075-211-7161 ... 
    5353www.tr.mufg.jp/ippan/tenpo/chiiki_list.html - 34k - �������� ����ڡ��� 
    5454 
     
    6767���ƻ����λͤ�����ɽ�� 
    6868 
    69 ��������ͳ���ְ��-�͡���'); 
     69��������ͳ���ְ��-�͡�����ͻԤ������Ա�ϲ�Ŵ�ر��Ԥǵ�0�ˤΤä� 
     70������������������Ծ�ɶɤǤ��� 
     71 
     72ʡ���Ա�5������ԥ�33094-10�Ȥ����ԥ�3864��8�Ȥ����������������2-3-0921 
     73�������2���λ͡�������������2�ζ��͡�������������2�ζ���͡�������); 
    7074 
    7175#print Dumper($ex);