我该如何理解这个代码?Node.js

我该如何理解这个代码?Node.js,node.js,Node.js,作为一名网络程序员,我目前一直在学习MEAN stack,我被困在这段代码中,我甚至都猜不到。有人能告诉我这是什么意思吗?这是从哪里来的 http.createServer(function(req, res){ var _url; .... if(_url = /^\/employees$/i.exec(req.url)){ res.writeHead(200); return res.end('employee list'); }else if(_url

作为一名网络程序员,我目前一直在学习MEAN stack,我被困在这段代码中,我甚至都猜不到。有人能告诉我这是什么意思吗?这是从哪里来的

http.createServer(function(req, res){
  var _url;

  ....

  if(_url = /^\/employees$/i.exec(req.url)){
    res.writeHead(200);
    return res.end('employee list');
  }else if(_url = /^\/employees\/(\d+)$/i.exec(req.url)){
    res.writeHead(200);
    return res.end('a single employee');
  }else{
    res.writeHead(200);
    res.end('static file maybe');
  }
});
我想知道的是以下几部分:

  • _url=/^/employees$/i.exec(请求url)
  • _url=/^/employees/(\d+)$/i.exec(请求url)

    • ^\/employees$

      ^ - Begins with
      \/ - Escaped '/'. (i.e. begins with '/')
      employees - contains employees.
      $ - ends with (i.e. finally, it'll only match '/employees')
      
      ^\/employees\/(\d+)$

      此处,(\d+)是一个组,其中:

      \d - matches digits (0-9)
      
      + - one or more previous token (i.e. matches 012345 or 1234 or 23, etc. but not blank or string).
      

      /^\/employees$/i
      是检查请求url是否包含字符串
      /employees
      ,后面没有任何内容

      如果找到匹配项,url将是字符串(真实值),否则它将为null(虚假值)

      \u url=/^/employees/(\d+)$/i.exec(req.url)
      正在寻找
      /employees/NUMBER

      ^
      表示字符串的开头

      \/
      正在转义
      /

      employees
      是一个文本字符串

      \d
      表示任何数字

      $
      表示字符串结束


      i
      表示不区分大小写(
      EmPlOyeeS
      EmPlOyeeS
      都将匹配相同)

      这些是正则表达式。不过我不知道,谢谢