javascript如何实现将地址中省市区县自动分离
它会尽可能少地匹配字符,并且在每个匹配之间不会有重叠。例如,在文本“广东省广州市天河区”中,这个正则表达式会匹配到“广东省”、“广州市”和“天河区”。总的来说,这个正则表达式会在输入文本中查找并匹配“省”、“市”、“自治区”、“自治州”、“县”或“区”这些词语,但由于前面的。:这是一个全局标志,意味着正则表达式会尝试匹配输入文本中的所有可能模式,而不仅仅是第一个。这是一个正则表达式,用于匹配文本中
·
自动分离省市区的封装函数
/*自动拆分省市区*/
function splitAddress(address) {
var reg = /.+?(省|市|自治区|自治州|县|区)/g;
return address.match(reg);
}
var address = "浙江省宁波市海曙区";
console.log(splitAddress(address))
正则表达式解读
var reg = /.+?(省|市|自治区|自治州|县|区)/g;
这是一个正则表达式,用于匹配文本中的特定模式。我会为你一步步地解释这个正则表达式:
-
/
:这是正则表达式的开始符号。 -
.+?
:.
:匹配任意单个字符(除了换行符)。+
:表示前面的字符可以出现一次或多次。?
:在这里,它将前面的+
量词变为非贪婪模式,这意味着它会尽可能少地匹配字符。
-
(省|市|自治区|自治州|县|区)
:|
:表示“或”的意思,用来匹配这个符号前后的任意一个子模式。- 所以这部分会匹配“省”、“市”、“自治区”、“自治州”、“县”或“区”中的任意一个。
-
/
:这是正则表达式的结束符号。 -
g
:这是一个全局标志,意味着正则表达式会尝试匹配输入文本中的所有可能模式,而不仅仅是第一个。
总的来说,这个正则表达式会在输入文本中查找并匹配“省”、“市”、“自治区”、“自治州”、“县”或“区”这些词语,但由于前面的 .+?
,它会尽可能少地匹配字符,并且在每个匹配之间不会有重叠。例如,在文本“广东省广州市天河区”中,这个正则表达式会匹配到“广东省”、“广州市”和“天河区”。
@漏刻有时
更多推荐
所有评论(0)