首页  >  问答  >  正文

正则表达式 - vim中怎样匹配中括号对

好像是用[匹配[,用]匹配],我用[*]可以匹配到中括号对,但是a[*]并不能匹配到有a在前面的括号对(数组a),而用a[却可以匹配到a和a后面的左中括号,为什么?

phpcn_u1582phpcn_u15822712 天前900

全部回复(2)我来回复

  • 高洛峰

    高洛峰2017-05-16 16:43:46

    雷雷

    回复
    0
  • 黄舟

    黄舟2017-05-16 16:43:46

    我测试结果是 a[*] 可以匹配到 a[]。当然它不能匹配 a[i]

    不过,你确定要用 * 吗?你的「好像」让我很有给你正则表达式的教程的冲动……

    [...] 是用来匹配字符类的,比如 [abd] 匹配 a, b 或者 d 中的任何一个。因为 [] 已经有这个意思了,所以要匹配到 [ 字符需要转义 [,要匹配 ] 的话原则上也是要转义的 ],不过在不引起歧义的时候可以不转义。

    * 是一个量词,它表示前边那个字符(或者字符类字符组 是一个量词,它表示前边那个字符(或者字符类字符组)可以出现任意多次(0 次也算)。

    回复
    0
  • 取消回复