嗨,我是正则表达式的新手,这可能是一个非常简单的问题(希望如此).
我试图使用一种解决方案3种字符串
我在尝试什么(让字符串为str):
str.match(/(.*)(?!%*)/i)[1]
Run Code Online (Sandbox Code Playgroud)
在我的脑海中听起来像"匹配任何事物的任何实例,直到'%'如果找到它,或者只是匹配任何东西"
在萤火虫的头脑中,它似乎听起来更像是"只是匹配任何东西而完全无视负面前瞻".也是为了让它变得懒惰 - (.*)?似乎没有帮助.
让我们忘记一下,在这种特殊情况下,我只是匹配数字,所以/\d*/我会这样做.我试图了解一般规则,以便我可以随时应用它.
有人会这么善意帮助我吗?
如何注释一个接受回调的函数,并从回调返回类型推断出此类函数的返回类型?
// say that callback takes a number
function takesCallback(cb: (arg:number) => infer T /* error */ ) {
return cb(42)
}
takesCallback(x => 'foo') // should infer 'string'
Run Code Online (Sandbox Code Playgroud)