Я хочу выполнить следующие требования для Express и Node.js.
A. Захватить указанное значение из URL
B. Игнорируйте любые символы, следующие за значением
example.
http://localhost:xxxx/test/123%E3%81%82%E3%81%84%E3%81%86
http://localhost:xxxx/test/456-noise_data
Для достижения я запланировал 1-й план реализации.
//1st.
app.get(/test\/[0-9]{3}.{0,}/, function (req, res) {
console.log(req.originalUrl)
res.send('/test\/[0-9]{3}.*/') }
)
Вы можете игнорировать строки с помощью ". { 0,} "(Требование Б). Но вам нужно извлечь значение из req.originalUrl (Требуется mnet A).
Я запланировал второй план реализации.
//2nd.
app.get('/test/:val([0-9]{3}).{0,}', function (req, res) {
console.log(req.params.val)
res.send('/test/:val([0-9]{3}).{0,}') }
)
Во втором случае вы можете легко извлечь значение с req.params.val (Требование B). Однако ". {0,}" не работает как регулярное выражение. "." означает не любой символ, а только "." (Требование A).
У кого-нибудь есть идеи?