@@ -827,17 +827,20 @@ def street_type_list_to_regex(street_type_list: list[str]) -> str:
827827
828828street_types_leading_re = street_type_list_to_regex (street_type_leading_list )
829829
830- street_type_extended = r"""
830+
831+ def street_type_extended (idx : str ) -> str :
832+ return r"""
831833 (?:
832- {street_type_a }
833- (?P<route_id >
834+ {street_type }
835+ (?P<route_id_{idx} >
834836 {space_div}\(?[Rr][Oo][Uu][Tt][Ee]\ [A-Za-z0-9]+(?:\ ?\))?
835837 )?
836838 )
837- """ .format (
838- street_type_a = rf"(?P<street_type_a>{ street_types_with_interstate_re } )" ,
839- space_div = space_div ,
840- )
839+ """ .format (
840+ street_type = rf"(?P<street_type_{ idx } >{ street_types_with_interstate_re } )" ,
841+ idx = idx ,
842+ space_div = space_div ,
843+ )
841844
842845
843846typed_street_name = r"""
@@ -852,7 +855,7 @@ def street_type_list_to_regex(street_type_list: list[str]) -> str:
852855""" .format (
853856 space_div = space_div ,
854857 street_name_a = rf"(?P<street_name_a>{ street_name_multi_word_re } )" ,
855- street_type_a = street_type_extended ,
858+ street_type_a = street_type_extended ( "a" ) ,
856859 street_type_b = rf"(?P<street_type_b>{ street_types_leading_re } )" ,
857860 street_name_b = rf"(?P<street_name_b>{ street_name_one_word_re } )" ,
858861 post_direction_re = post_direction_re ,
@@ -1052,7 +1055,7 @@ def street_type_list_to_regex(street_type_list: list[str]) -> str:
10521055 |
10531056 (?:
10541057 {post_direction_re}\
1055- \d{{,3}}[A-Za-z\-]{{1,31}}
1058+ \d{{,3}}[A-Za-z\-]{{1,31}}(?!\s+{street_type})
10561059 )
10571060 )
10581061 (?:{space_div}{post_direction})?
@@ -1080,6 +1083,7 @@ def street_type_list_to_regex(street_type_list: list[str]) -> str:
10801083 street_number = street_number ,
10811084 typed_street_name = typed_street_name ,
10821085 numbered_or_typeless_street_name = numbered_or_typeless_street_name ,
1086+ street_type = street_type_extended ("c" ),
10831087 post_direction = post_direction ,
10841088 post_direction_re = post_direction_re ,
10851089 floor = floor ,
0 commit comments