Nuxt: extending routes issue

I extended Nuxt routes this way:

router: {
    extendRoutes (routes, resolve) {
      routes.push({
        name: 'custom',
        path: '*' + 'towns' + '(:[0-9].*)?/',
        component: resolve(__dirname, 'pages/404.vue')
      })
    }
  },

From the browswer, when I point for example to the URL: http://localhost:3000/towns:3, I get this error message in dev tools:

TypeError: Expected “1” to match “:[0-9].*”, but received “%3A3”

Any idea how to solve this ?

I stored a demo on Github if you want to try it: nuxt-extend-routes

This is also available as a question on StackOverflow with a bounty (100 rep), if you want to answer it there.