我创建了vim搜索模式来查找错误的状态代码:
/ [45][0-9][0-9]
Run Code Online (Sandbox Code Playgroud)
它可以找到504或499或404(每个数字之前和之后的空格)
但我不希望它找到404.如何更改我的搜索模式以使其跳过404?
对该数字使用否定预测:
/\(.*404\)\@![45]\d\{2\}
Run Code Online (Sandbox Code Playgroud)
更新:感谢Karoly Horvath指出,这regex可能会失败,同一行中有一些数字.好多了:
/\(404\)\@![45]\d\{2\}
Run Code Online (Sandbox Code Playgroud)
比赛结束后负面后卫的另一种方式:
/[45]\d\{2\}\(404\)\@<!
Run Code Online (Sandbox Code Playgroud)