我目前正在研究MEAN堆栈是一名网络程序员,我被困在这段代码中,我根本无法猜测。有人可以告诉我这意味着什么以及它来自何处?
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');
}
});
所以,我想知道的是以下这些部分:
答案 0 :(得分:0)
^\/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).
答案 1 :(得分:0)
/^\/employees$/i
是一个regex,用于检查请求网址是否包含字符串/employees
,后面没有任何内容
如果找到匹配,则_url将是一个字符串(一个真值),否则它将为null(一个假值)
_url = /^/employees/(\d+)$/i.exec(req.url)
正在寻找/employees/NUMBER
^
表示字符串
\/
正在逃避/
employees
是一个文字字符串
\d
表示任何数字
$
表示字符串结尾
i
表示不区分大小写(EmPlOyeeS
和employees
都匹配相同)