Игнорировать любые символы с регулярным выражением в Node.js Express Router - PullRequest
0 голосов
/ 26 мая 2020

Я хочу выполнить следующие требования для 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).

У кого-нибудь есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...