Поскольку я учусь Javascript и Express.js в то же время я экспериментировал вокруг с регулярными выражениями, делая запрос GETRegex Ошибка в Express.js
Чтобы familiaries мой сам с регулярными выражениями я использовал этот 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}+/
Но затем выразить дал эту ошибку:
Syntax Error: Invalid Regular Expression: /\/{1}+/: Nothing to Repeat
Так это мой синтаксис регулярных выражений не так?
О, я этого не знал. Но так или иначе, чтобы сделать регулярное выражение, он отвечает на мой вопрос – AmitS
регулярное выражение, которое соответствует строке с _only_ one '/' is '/ \/$ /' – AmitS
На самом деле это должно быть '/^[^ /] * \/[^ /] * $ /'. Проблема с '/ \/$ /' заключается в том, что она соответствует любой строке, заканчивающейся с '/', поэтому может быть '/' ранее в строке в дополнение к одному в конце. –