【发布时间】:2014-10-05 00:28:57
【问题描述】:
由于我同时学习 Javascript 和 Express.js,所以我在发出 get 请求时尝试使用正则表达式
为了熟悉正则表达式,我使用了这个chart(也在下面转载)
Greedy Reluctant Possessive Meaning
X? X?? X?+ X, once or not at all
X* X*? X*+ X, zero or more times
X+ X+? X++ X, one or more times
X{n} X{n}? X{n}+ X, exactly n times
X{n,} X{n,}? X{n,}+ X, at least n times
X{n,m} X{n,m}? X{n,m}+ X, at least n but not more than m times
我的问题是,如果正则表达式只有一个 /,我如何才能让正则表达式匹配一个 url。
换句话说,它只会匹配默认的 url localhost:1337/
app.get(/\/{1}/, function (req, res) {
res.render("index");
});
但是,我上面的当前正则表达式匹配其他路径名(即localhost:1337/home/login),因为现在我知道它使用了贪婪量词
阅读更多关于正则表达式的内容后,我更改了量词使其具有所有格。/\/{1}+/
但是后来express报了这个错误:
Syntax Error: Invalid Regular Expression: /\/{1}+/: Nothing to Repeat
那么我的正则表达式语法错了吗?
【问题讨论】:
标签: javascript regex express