【发布时间】:2014-02-23 00:00:01
【问题描述】:
对于一个网络应用程序,我试图想出一个 javascript 正则表达式,它匹配任何不以.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 路由定义的一部分。
【问题讨论】:
标签: javascript regex express