专栏首页技术的专栏js正则 replace 反向引用的问题。
原创

js正则 replace 反向引用的问题。

目前在配置node express 的 url rewrite

Before the URL gets to Express' static middleware, we need to rewrite the URL. 参考

var app = express();
// Rewrite the URL before it gets to Express' static middleware. 
app.use('/public/', function(req, res, next) {
        req.url = req.url.replace(/\/([^\/]+)\.[0-9a-f]+\.(css|js|jpg|png|gif|svg)$/, "/$1.$2");
        next();
});
app.use('/public/', express['static'](__dirname + '/public', { maxAge: 30 }));
//现在想把 :

var url = 'http://localhost:8080/newcss/act/act1/index.html/aaa';          //替换为:
          'http://localhost:8080/newcss/act/act1/index.html';
          
> url.replace(/(\/newcss\/.+?index.html)/,"$1");
> "http://localhost:8080/newcss/act/act1/index.html/aaa"          //不生效

//我们来看下match的

url.match(/(\/newcss\/.+?index.html)/)
>[ "/newcss/act/act1/index.html",
   "/newcss/act/act1/index.html",          //$1
   index: 21,
   input: "http://localhost:8080/newcss/act/act1/index.html/aaa"
 ]


//match的结果完全正常,而且 $1 就是我们想要的,但是为什么就replace不行了呢?????



//我在replace后再加一个括号匹配剩下的url就正常了。如下:

> url.replace(/(\/newcss\/.+?index.html)(.*)?/,"$1")
> "http://localhost:8080/newcss/act/act1/index.html"



原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php json_decode 返回 null 乱码问题

    编码错乱的昵称存在json字符串里,php调用json_decode(xxx, true) 失败,返回null的问题。

    shirishiyue
  • opencv findContour函数报错

    opencv是直接下载bin文件安装的,vs工程配置opencv:https://www.jianshu.com/p/908551afa8fd?utm_camp...

    shirishiyue
  • Promise 源码分析

            3、外部一种实现promise的源码:https://github.com/ygm125/promise/blob/master/promise...

    shirishiyue
  • Scrapy爬取伯乐在线

    Scrapy爬取伯乐在线文章 准备工作: python环境,我是用Anaconda Scrapy环境,上一篇文章提到过 MySQL,我们准备将爬取的数据保存到M...

    听城
  • 编写你的第一款VSCode插件

    工欲善其事,必先利其器。对于一名程序猿来说,好的编辑器能够大大提高写代码的效率。VSCode作为微软主推的开源跨平台编辑器,是前端开发的利器,它拥有各种丰富的插...

    腾讯IVWEB团队
  • 【SAS Says】扩展篇:IML(3):条件与循环

    这是一段“资产收益率情景到评级情景的映射”的SAS程序,出自《金融计算与建模》(朱世武,282页): ? 代码中既用到了循环语句(do .. to ..),也...

    数说君
  • 三步爬取半次元热门图片

    边学习,边创造是一件开心的事情,因为你会清楚的认识到自己的状态,以及那充满内心的成就感,因此从写爬虫开始学习python是一个简单粗暴的提升路线,不知不觉了解很...

    py3study
  • golang 多线程爬虫

    地球流浪猫
  • Http协议时无状态的,没有记忆功能,连接--传送--断开

    private 字段十+,然后输出到页面上,然后重复刷新页面。服务器不记的上次给了浏览器什么,否则服务器的压力会太大。

    静心物语313
  • 2017最流行的十大Python库

    AiTechYun 编辑:yuxiangyu 年末是你需要思考过去一年的成就的时候。对于程序员来说,这通常是回顾今年发布的或者最近流行的开源库,因为它们是解决特...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券