2016-01-17 4 views
0

пытается соответствовать следующему маршрутизаторуИспользование регулярных выражений в экспресс-маршрутизатор

# GET /measurements/2013-10-10T16:20:00.000Z 

В настоящее время с помощью этого кода:

var router = express.router(); 
router.get(/measurements\/:date(.*Z$), ResultCtrl.processRequest) 

, что я здесь отсутствует?

+0

Взгляните на http://stackoverflow.com/questions/10858005/regex-for-route-matching-in-express – Nicholas

+0

Это сделало работу..router.get (/ измерения \/(\ d {1 , 4}. + [ZZ] $) /, MeasurementCtrl.getBasedOnISODate); – runtimeZero

ответ

1

Попробуйте

router.get('/measurements/:date(^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$)', ResultCtrl.processRequest) 

Это будет соответствовать метку времени формы ####-##-##T##:##:##.###Z, где каждый # является цифрой.

+0

у меня есть .. хотел что-то более конкретное – runtimeZero

+0

Подробнее? Вы имеете в виду более конкретное регулярное выражение? – Nicholas

+0

Возможно '/^\d{4}(?:-\d{2}){2}T(?:\d{2}:){2}\d{2}\.\d{3}Z $/' – Nicholas

Смежные вопросы