【发布时间】:2016-02-21 13:15:08
【问题描述】:
我想了解破折号- 需要在正则表达式中使用反斜杠转义吗?
考虑一下:
var url = '/user/1234-username';
var pattern = /\/(\d+)\-/;
var match = pattern.exec(url);
var id = match[1]; // 1234
正如您在上面的正则表达式中看到的,我正在尝试从 url 中提取 id 的数量。我还使用反斜杠\ 在我的正则表达式中转义了- 字符。但是当我删除那个反斜杠时,一切都很好......!换句话说,这两个都很好:
现在我想知道,哪个是正确的(标准)?我需要在正则表达式中转义破折号吗?
【问题讨论】:
-
我认为你只需要在破折号位于
[]内时转义它,但不确定。 -
你没有回答自己的问题吗?
-
@jonrsharpe 你到底是什么意思?如果我知道答案,那我为什么要问呢?
-
这是个好问题!那么为什么有你问它,因为你已经向自己证明你不需要需要逃避那个破折号?
-
标签: javascript regex