【问题标题】:Replace code using Regex on Visual Studio Code [duplicate]在 Visual Studio Code 上使用 Regex 替换代码 [重复]
【发布时间】:2018-01-31 18:03:00
【问题描述】:

我有一个很大的文件,需要替换一些字符串,问题是它们是动态的,但总是遵循一个模式:

年[4位数字]/月[2位数字]/timestamp[8位数字]/文件[以扩展名结尾的随机字符串]

一些例子:

2017/07/24204301/a-4.png
2017/07/24204318/a-5-e1501986401369.png
2017/11/24211223/questao10branca-172x300.png

我需要删除所有出现的时间戳,那么上面的例子会变成:

2017/07/a-4.png
2017/07/a-5-e1501986401369.png
2017/11/questao10branca-172x300.png

如何使用 Regexp 和 Visual Studio Code 实现这一目标?

【问题讨论】:

  • 我很确定您认为“时间戳”是“日时分秒”,所以您希望删除日期?
  • 尽管我很讨厌正则表达式,但现在它是完成这项工作的完美工具之一。但你永远不会看到我公开承认这一点。
  • @MikeHofer 这些帖子不是公开的吗?大声笑
  • @ctwheels 我否认一切。

标签: regex replace visual-studio-code


【解决方案1】:

鉴于您提供的示例,有几个正则表达式适合您。

See regex in use here

/\d{8}(?=/)
  • / 从字面上匹配这个
  • \d{8} 任意数字准确匹配 8 次
  • (?=/) 正向前瞻确保后面是文字 /

See regex in use here

(?<=^\d{4}/\d{2}/)\d{8}/
  • (?&lt;=^\d{4}/\d{2}/) 否定后视确保前面的内容如下:
    • ^ 在字符串的开头断言位置
    • \d{4} 匹配任意数字 4 次
    • / 按字面意思匹配
    • \d{2} 匹配任意数字两次
    • / 从字面上匹配这个
  • \d{8} 准确匹配任意数字 8 次
  • / 从字面上匹配这个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-26
    • 2015-09-29
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    相关资源
    最近更新 更多