【发布时间】:2021-03-29 18:15:08
【问题描述】:
如果给定字符串中存在单元号,我正在尝试从门牌号开始提取地址。
如果单元号不可用,请选择整个字符串。
const adss1 = 'U 4 21 House Ave, Suburb State 2020';
const adss2 = 'U 14 21 House Ave, Suburb State 2020';
const adss3 = '21 House Ave, Suburb State 2020';
const regEx = /(([0-9]+)((\s+[a-zA-Z,]+|\s+[a-zA-Z,.]+\s){2,10})?(\#[0-9a-z-\-]+|\#\s+[0-9\-]+|[0-9\-]+))/g;
const match1 = adss1.match(regEx)
console.log(match1)
// [ '21 House Ave, Suburb State 2020' ]
const match2 = adss2.match(regEx)
console.log(match2)
//[ '14', '21 House Ave, Suburb State 2020' ]
const match3 = adss3.match(regEx)
console.log(match3)
//[ '21 House Ave, Suburb State 2020' ]
当前的正则表达式模式适用于 adss1 和 adss3 地址类型,但不适用于 adss2 变量。
寻找改进我的正则表达式模式的建议。谢谢
【问题讨论】:
标签: javascript regex match