javascript - 你能制作一个在找到匹配项时失败而不是通过的 JavaScript 正则表达式吗?

标签 javascript node.js express

例如,我可以创建一个正则表达式,以便字符串在包含“foo”的情况下通过吗?

我正在做的是使用nodejsexpress来匹配URL。如何匹配任何包含“foo”的URL?

例如,以下内容匹配根页面:

app.get('/', function(req, res){
  res.send('hello world');
});

但是我怎样才能做同样的事情来匹配除 /login 之外的路由?

app.get(/regex_here/, function(req, res){
  res.send('hello world');
});

regex_here 的值应该是多少才能匹配除 /login 之外的所有页面?

最佳答案

From the documentation ,看来您必须使用正则表达式。

所以你需要使用 nhahtdh's pattern :

/^(?!.*foo).*$/

What does /^(?!.*foo).*$/ mean exactly?

说明

带括号的表达式称为负向先行,即模式只能在以下情况下匹配:.*foo 紧跟在之后当前位置,即字符串的开头,用 ^ 表示。

因此,该模式匹配所有内容 - .*,除非在开头之后的某个位置找到 foo,也就是说与:

The pattern matches everything unless `foo` occurs in the string somewhere.

关于javascript - 你能制作一个在找到匹配项时失败而不是通过的 JavaScript 正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542389/

相关文章:

node.js - 内存中的 V8 BigInt 大小?

css - 静态 css 不显示在 express jade 中

html - Node js - socket.io - 链接样式表未加载...端口问题?

node.js - 收到请求时使用 morgan 记录 POST 正文大小

javascript - JavaScript 中的一些正则表达式问题(密码强度)

javascript - 如何将 fadeIn 添加到我的 show_hide() 函数中?

javascript - 无法在画架中创建文本

javascript - 通过 JQuery,如何将 on 函数指定为许多单选按钮的 onClick 处理程序?

javascript - Node js : Express + ssh2 does NOT reset my data structures when loading web pages

node.js - 多个组织在沙发上的最佳实践