javascript - 正则表达式还捕获除捕获组之外的所有内容

标签 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+|\w{0,2}))(.*)$/gm

RegEx Demo

正则表达式详细信息:

  • ^:开始
  • (.*?):在第一个捕获组的开头匹配 0 个或多个字符(非贪婪)
  • \b:单词边界
  • (\d+(?:[\/-]\d+|\w{0,2})):匹配第二个捕获组中的街道号
  • (.*):第三个​​捕获组匹配剩余文本直到结束
  • $:结束

旗帜

  • g:全局匹配;找到所有匹配项而不是在第一个匹配项后停止
  • m:多行

关于javascript - 正则表达式还捕获除捕获组之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845074/

相关文章:

javascript - 在 DOM 交互期间暂停布局

java - 输入流上的正则表达式

regex - Notepad++ 函数列表 : return class even if empty

c# - 在 .NET 中使用正则表达式替换字符串

C# 无法让 RegEx 适用于所有情况

javascript - 使用名为 piety 的 jQuery 图表插件设置多个 if 条件

javascript - 我需要连接我的数据库然后将其显示在网页上

javascript - iPad 版“ Firebug ”

javascript - Web Workers - 如果对象按值传递,则内存使用量会增加一倍

python - 打印包含特定整数的行的行号