2

我创建了vim搜索模式来查找错误的状态代码:

   / [45][0-9][0-9]  

它可以找到504499404(每个数字前后的空格)

但我不想让它找到404。如何更改我的搜索模式以使其跳过404

4

2 回答 2

7

对该数字使用负前瞻:

/\(.*404\)\@![45]\d\{2\}

更新:感谢Karoly Horvath指出这regex可能会因同一行中的某些数字而失败。好多了:

/\(404\)\@![45]\d\{2\}

另一种赛后消极回顾的方式:

/[45]\d\{2\}\(404\)\@<!
于 2013-10-09T13:18:25.833 回答
2
5[0-9][0-9]|4[1-9][0-9]|40[0-35-9]

老派模式是:

  • 5 后跟任意两位数字,或:
  • 4 后面不跟零,然后是任何数字,或:
  • 40 后面没有 4。

我希望你没有其他列入黑名单的代码,因为这会很快变得丑陋。

于 2013-10-09T13:19:23.847 回答