對於一個Web應用程序,我試圖想出一個JavaScript正則表達式,它匹配任何不以.json
結尾的內容。聽起來很簡單,但我很難找到它。Regex匹配任何不以.json結尾的文件
我首先想這樣做:^.*(?!\.json$)
,但顯然沒有工作,因爲它只是匹配整個字符串。然後我嘗試^[^\.]*(?!\.json$)
,但匹配abc.json
中的ab
。
我已經找到了兩個可以完成這個工作的正則表達式,但我想要一個正則表達式可以做到這一點。
// Match anything that has a dot but does not end in .json
^.*\.(?!json$)
// Match anything that doesn't have a dot
^[^\.]*$
我喜歡http://regex101.com/#javascript來測試它們。
我在app.get(REGEXP, routes.index)
中使用正則表達式作爲ExpressJS路由定義的一部分。
哇,這麼閃電快速回覆文件擴展名。這工作完美!太感謝了! –
@TheFonz:你應該考慮另外兩個答案中的其他選項。有關代碼可讀性的完美有效的觀點。 – hayavuk
請標記爲正確的答案,然後:) –