Regular expression - how to match square bracket pairs in vim
phpcn_u1582
phpcn_u1582 2017-05-16 16:41:46
0
2
853

It seems that I use \[ to match [, use ] to match]. I use \[*] to match the square bracket pair, but a\[*] cannot match the bracket pair with a in front (array a) , but using a\[ can match a and the left bracket after a. Why?

phpcn_u1582
phpcn_u1582

reply all (2)
小葫芦
\[*]匹配的是0到多个[,后面是一个],例如],[],[[]等 中间的*匹配的[,并不是指中括号中间的任意字符重复0-N次。 中括号中间的任意字符,简单的话可以使用.*表示,但是同一行有多个中括号的话会全部匹配,如: a[i+1]= b[i-1]这样的表达式会被全部匹配。 试一下下面这个,应该可以匹配a后面的带中括号的表达式 a\[[^]]*]
    黄舟

    My test result isa[*]可以匹配到a[]。当然它不能匹配a[i].

    But are you sure you want to use*? Your "like" makes me have the urge to give you a tutorial on regular expressions...

    [...]是用来匹配字符类的,比如[abd]匹配a,b或者d中的任何一个。因为[]已经有这个意思了,所以要匹配到[字符需要转义[,要匹配]的话原则上也是要转义的], but it does not need to be escaped when it does not cause ambiguity.

    *是一个量词,它表示前边那个字符(或者字符类字符组is aquantifier, which means that the previouscharacter(orcharacter class,character group) can appear anywhere Multiple times (0 times also counts).

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!