2015-06-10 26 views
1

我正在使用正則表達式進行快速路由,並且遇到了障礙。當一個以結果結尾的URL爲GET時,我有一堆測試運行。字符串上的GET 不以結束返回測試的文件夾和鏈接列表。快遞路線使用正確的正則表達式語法是什麼?

我有一個正常的字符串

var noresult = new RegExp(/^(?![\w\/:].*result$)/); 
var result = new RegExp(/^[\w\/:].*result$/); 

工作的正則表達式,但我不能爲我的生活弄清楚如何在快遞實現這些。我目前有:

router.get('/:testPath(^[\w\/:].*result$)', [function (req, res, next) { 
    // run mocha test 
    // render page 
} 

爲我的測試和

router.get('/:path(?![\w\/:].*result$)', function (req, res) { 
    // build folder/file structure 
    // render page 
} 

但既不是這些作品的任何URL的。我希望testPath和path req params在req.params對象中。

例如,以下三組方面的工作時字符串,而不是在傳遞的網址來表達:

/test/path/to/test 
/test/path/to/test/ 
/test/path/to/testfile/result 

我見過的都使用例子,不使用/ ^或者$ /開始或者在快速路由示例中結束字符串。我不確定他們是否屬於那裏。

快速路線中實現正則表達式的正確方法是什麼?

回答

0

顯然,語法是純正則表達式。誰會知道!我目前正在使用:

router.get(/[\w\/:]*result$/, [function (req, res, next) { 
router.get(/^(?![\w\/\:].*result$)/, function (req, res, next) { 

它的作品就像一個魅力。還沒有想出如何在那裏獲得變量。但它現在起作用。

相關問題