Javascript 除了捕获组,Regex还捕获所有内容
我提出了一个javascript正则表达式,它从地址字符串中捕获街道号码:Javascript 除了捕获组,Regex还捕获所有内容,javascript,regex,Javascript,Regex,我提出了一个javascript正则表达式,它从地址字符串中捕获街道号码: (\d+-\d+|\d+\/\d+|\d+\w{0,2}) 现在,我还想在其他捕获组中捕获字符串的其余部分(之前和之后)。 我将测试的格式: Streetname 23 Streetname 12-15 Streetname 12/15 Streetname 13c Streetname 34 with additional text 您可以将此正则表达式用于3个捕获的组: /^(.*?)\b(\d+(?:[\/-]
(\d+-\d+|\d+\/\d+|\d+\w{0,2})
现在,我还想在其他捕获组中捕获字符串的其余部分(之前和之后)。我将测试的格式:
Streetname 23
Streetname 12-15
Streetname 12/15
Streetname 13c
Streetname 34 with additional text
您可以将此正则表达式用于3个捕获的组:
/^(.*?)\b(\d+(?:[\/-]\d+|\w{0,2}))(.*)$/gm
正则表达式详细信息:
:开始^
:在第一个捕获组的开始处匹配0个或多个字符(非贪婪)(.*)
:单词边界\b
:匹配第二个捕获组中的街道号(\d+(?:[\/-]\d+\w{0,2}))
:第三个捕获组匹配剩余文本,直到结束(.*)
:结束$
:全局匹配;查找所有匹配项,而不是在第一个匹配项后停止g
:多行m
/^(.*)\b(\d+(?:[\/-]\d+\w{0,2}))(.*)$/
您还可以用空字符串替换街道号码,然后继续其他捕获组