【问题标题】:Forward slash with back slash in javascript? Why?javascript中的正斜杠和反斜杠?为什么?
【发布时间】:2016-03-12 17:11:19
【问题描述】:

所以我是 node.js 的新手,我遇到了这行让我感到困惑的代码:

if (/^\/api\/parsetime/.test(req.url))

我理解它的 test() 部分,但只有 test 之前的部分是奇怪的。

如果请求的 url 是“/api/parsetime”,则练习的目标是对来自服务器的响应做一些事情。

所以基本上我的问题是,当我们将它放在 if 语句中时,为什么在 url 中有/^\/\/

谢谢!

顺便说一句,代码取自 NodeSchool 研讨会 (learnyounode)。谢谢你们,你们太棒了!

【问题讨论】:

  • "\" 防止“/”被解释为正则表达式的结尾。

标签: javascript url slash


【解决方案1】:

那是regular expression

反斜杠 (\) 正在转义正斜杠 (/),因此它不会在您完成之前结束模式。

【讨论】:

  • 在这种情况下,^ 的作用是什么?我不能只写类似:
    if("/api/parsetime"/.test(req.url)) 
    并完成它吗?
  • 好的,我想我明白了,谢谢 :) 但最后一件事 - 如果我从表达式中省略 (^) 会发生什么?我在 MDN 上读到 (^) 匹配表达式的开头,但有必要吗?
  • 这是必要的,因为^ 意味着它必须是表达式的开头。所以没有它,/cheese/api/parsetime 也会匹配。除非您不关心它之前的内容(并且您应该关心),否则您会想要使用该令牌。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 2023-03-10
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2021-05-29
  • 2013-11-14
相关资源
最近更新 更多