正则
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,
""
] */