记事本++背后的正则表达式正向外观

Regex positive look behind notepad++

我正在尝试使用正则表达式来获取大小不同的字符串的最后 3 位数字。字符串的开头总是以 name- 开头 示例:

“名称-0000425” “名称-00123” “名字-123”

我希望正则表达式获取此数字的最后 3 位数字并将其替换为这些数字。这是我试过的正则表达式,但它只抓取前 3 位数字。

(?-s)(?<=Name-)(\d{3})

如有任何帮助,我们将不胜感激!谢谢!

您可以使用

(?<=Name-)\d*(\d{3})

替换为</code>。见 <a href="https://regex101.com/r/ZdW5Xc/1" rel="nofollow noreferrer">regex demo</a>.</p> <p>或者,您也可以使用 <code>(Name-)\d*(\d{3}) 并替换为 </code>。</p> <p><strong>详情</strong></p> <ul> <li><code>(?<=Name-) - 与紧接在 Name- 之前的位置相匹配的正后视

  • \d* - 任意零个或多个数字
  • (\d{3}) - 第 1 组(</code> 指的是替换模式中的这个值):三位数。</li> </ul> <p><strong>注释</strong></p> <ul> <li>如果您只想删除初始零,可以使用 <code>(?<=Name-)0+(\d{3}) 正则表达式。
  • 如果在行的最后三位数字之前可以有任何其他内容,您可以使用 (?<=Name-).*(\d{3})
  • 如果在单行的双引号内的最后三位数字之前可以有任何其他内容,您可以使用 (?<=Name-)[^"\n\r]*(\d{3}).
  • 最短的正则表达式是...

    查找内容:\d{3}"
    将其替换为 789"