匹配不包含单词的正则表达式

Regular expression to match not containing a word

鉴于这三个 JS 函数声明文本...

var fn3 = function(data){
  if (data)
  {
     alert('Yes data');
  }
}

var fn2 = function(data){
  if (nope)
  {
     alert('Nope');
  }
}

var fn3 = function(data){
  if (data)
  {
     alert('Yes data');
  }
}

...我可以使用什么正则表达式来匹配其主体中不包含单词 "data" 的函数?

比如我想在上面的fn2中匹配这个字符串:

function(data){
  if (nope)
  {
     alert('Nope');
  }
}
var [^{]*{((?!\bdata\b)[\s\S])*}

尝试 this.See 演示。

https://regex101.com/r/sH8aR8/22