正则表达式图像文件夹源
reg ex image folder source
我正在尝试创建一个正则表达式来检测 HTML、CSS 或 JavaScript 中的任何图像引用,同时考虑图像源引用可以采用的各种模式.
这是为了修改所有图像的 url 路径,作为 gulp-替换任务的一部分。
这些是我认为我需要涵盖的实例
"../img/hero/layer4.png
"../images/bg-top.jpg
'img/logo.jpg
'img/btn/banner-submit.jpg
"img/btn/animated-thank-you-banner.gif
这就是我目前所掌握的正则表达式
(?:(\.\.\/)|)(img|imgs|image|images)(.*[\\/])
https://regex101.com/r/kF7hG0/2
不幸的是,这似乎与 img
标签匹配
<img src="img/
如何修改 reg ex 以捕获 " 或 ' 之后的所有内容,基本上是没有文件名和扩展名的图像路径?
作为此 gulp 任务的一部分,正则表达式 运行
gulp.task('html', function () {
gulp.src(source + '**/*.+(html|php)')
.pipe($.plumber())
.pipe($.inline({
base: source,
js: $.uglify,
css: $.cleanCss,
disabledTypes: ['svg', 'img']
}))
.pipe($.replace(/("|')(?:(\.\.\/))?(?:img|image|images)(.*[\\/])/g, '"' + mtkosrc + campaign +'-'))
.pipe(gulp.dest(build))
});
谢谢
(?:(\.\.\/)|)(?!img src)(img|imgs|image|images)(.*[\\/])
我将 (?!img src)
添加到您原来的正则表达式中。这是一个否定的先行断言,即接下来要捕获的文本不是 img src
。
有关环视断言的更多信息:http://www.regular-expressions.info/lookaround.html
(这是您现有正则表达式的快速补丁,我相信我们可以重写它以使其更快、更直观。)
我正在尝试创建一个正则表达式来检测 HTML、CSS 或 JavaScript 中的任何图像引用,同时考虑图像源引用可以采用的各种模式.
这是为了修改所有图像的 url 路径,作为 gulp-替换任务的一部分。
这些是我认为我需要涵盖的实例
"../img/hero/layer4.png
"../images/bg-top.jpg
'img/logo.jpg
'img/btn/banner-submit.jpg
"img/btn/animated-thank-you-banner.gif
这就是我目前所掌握的正则表达式
(?:(\.\.\/)|)(img|imgs|image|images)(.*[\\/])
https://regex101.com/r/kF7hG0/2
不幸的是,这似乎与 img
标签匹配
<img src="img/
如何修改 reg ex 以捕获 " 或 ' 之后的所有内容,基本上是没有文件名和扩展名的图像路径?
作为此 gulp 任务的一部分,正则表达式 运行
gulp.task('html', function () {
gulp.src(source + '**/*.+(html|php)')
.pipe($.plumber())
.pipe($.inline({
base: source,
js: $.uglify,
css: $.cleanCss,
disabledTypes: ['svg', 'img']
}))
.pipe($.replace(/("|')(?:(\.\.\/))?(?:img|image|images)(.*[\\/])/g, '"' + mtkosrc + campaign +'-'))
.pipe(gulp.dest(build))
});
谢谢
(?:(\.\.\/)|)(?!img src)(img|imgs|image|images)(.*[\\/])
我将 (?!img src)
添加到您原来的正则表达式中。这是一个否定的先行断言,即接下来要捕获的文本不是 img src
。
有关环视断言的更多信息:http://www.regular-expressions.info/lookaround.html
(这是您现有正则表达式的快速补丁,我相信我们可以重写它以使其更快、更直观。)