正则
let reg='(?<province>[^省]+自治区|.*?省|.*?行政区|.*?市)(?<city>[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|.*?县)(?<county>[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)?(?<town>[^区]+区|.+镇)?(?<village>.*)'
示例
let reg='(?<province>[^省]+自治区|.*?省|.*?行政区|.*?市)(?<city>[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|.*?县)(?<county>[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)?(?<town>[^区]+区|.+镇)?(?<village>.*)'
let str='内蒙古自治区通辽市扎鲁特旗'
str.match(reg)
/* [
    "内蒙古自治区通辽市扎鲁特旗",
    "内蒙古自治区",
    "通辽市",
    "扎鲁特旗",
    null,
    ""
] */
str='北京市北京市朝阳区'
str.match(reg)
/* [
    "北京市北京市朝阳区",
    "北京市",
    "北京市",
    "朝阳区",
    null,
    ""
] */
运行截图











