gpt4 book ai didi

regex - 按 VIM 中垃圾数字后出现的数字对列表进行排序

转载 作者:行者123 更新时间:2023-12-04 17:02:20 25 4
gpt4 key购买 nike

我需要对一些包含 1,000 个条目的列表进行排序和比较。列表如下所示:

11-2-3049_2007_squib.pdf
11-11-5476_2004_squib.pdf
13-2-5477_2006_squib.pdf
14-3-3045A_2004_squib.pdf
14-CMF-3046_2004_squib.pdf
14-2-3047_2005_squib.pdf
14-4-3048_2004_squib.pdf
15-7-3050P_2004_squib.pdf

我希望按第二个 - 之间的数字排序和之前 _ ,例如 3049在第一个例子中。

我无法成功地将按列排序和正则表达式结合起来。大家有什么建议?

最佳答案

这应该可以解决问题:

:sort r  /\v^(.{-}-){2}\zs.{-}\ze_/


:help sort

这里的背景

正则表达式包含一些曲折:
  • \v进入非常神奇的模式(减少逃避的需要)
  • \zs\ze标记实际匹配结果的开始和结束
  • {-}执行非贪婪的 kleene-star 匹配(在 Perl 表示法中,.{-} 将是 .*?)
  • 关于regex - 按 VIM 中垃圾数字后出现的数字对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12752453/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com