【问题标题】:JavaScript match files that contains certain prefix包含特定前缀的 JavaScript 匹配文件
【发布时间】:2017-03-27 13:46:40
【问题描述】:

我的任务中有一个 gulp.src,但我想匹配所有包含某个单词作为前缀的文件,例如:

gulp.src('./mydir/project.build-blessed1.css')

但是可以有N个不同编号的文件,blessed1,blessed2,blessed3

如何在不使用函数的情况下使其匹配以该开头并在同一行具有 .css 扩展名的任何文件?

【问题讨论】:

  • 您需要一个可以通配符匹配您的模式的 glob 模式 Glob(搜索 glob 或 gulp-glob
  • 我们是否只匹配匹配模式./mydir/project.build-blessed#.css的文件?
  • 您可以使用以下命令获取特定文件夹(放置 css 文件的位置)中的文件:fs.readdir('./', function(err, files) { files.forEach(function(file) { /* DO SOMETHING HERE */ } } 并且在该结构中,您可以使用简单的正则表达式或 includes()endswith()声明
  • 使用 Glob 语法 github.com/isaacs/node-glob './mydir/project.build-blessed[1-3].css'

标签: javascript regex gulp filenames prefix


【解决方案1】:

如果您没有使用旧的 gulp 实现,即使在路径中间也可以使用“*”作为通配符,例如:

gulp.src('./mydir/project.build-blessed*.css')

应该有效

您可以在此处查看文档https://github.com/gulpjs/gulp/blob/master/docs/API.md

【讨论】:

  • 是的,先生,这是我的第一种方法,直到我更新了 gulp 版本,它才起作用。谢谢!
【解决方案2】:

正如 Splatten 所建议的,您可以使用 string.lastIndexOf 方法。在你的情况下:

var string = 'i want to do something!'

if (string.lastIndexOf('something') !== -1) {
    //keyword was found, meaning it's in the string
} else {
    //keyword was not found 
}

lastIndexOf 返回他找到关键字的索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    相关资源
    最近更新 更多