在知乎挂出了问题,没人理,求人不如求己,我自己终于把这个问题搞定了
要匹配诸如:1、2、3、4、。。。999、,可以这样写:
^[1-9]([0-9]{0,2})[、].*
解释:
^:表示从行首开始匹配
[1-9]:表示1到9中的任意一个数字
():表示第一位数字后面的,括弧里面又是一个正则表达,嵌套结构
[0-9]:表示0-9中的任意一个数字;
{0,3}:前面的这个0到9之间的那个数字,接连匹配0次或者1次、或者2次
[、]:表示匹配、号
.:表示匹配单个字符
*:表示匹配长度是{0,},就是说至少有0个,或者很多多个,无穷多个
其中因为[0-9]等价\d,而第一位,如果不计较开始的0,第一位也可以写成[0-9],这样可以简化为:^\d(\d{0,2})[、].*
如果要匹配:第一、第二。。。,可以写成:
^[一二三四五六七八九十]([一二三四五六七八九十]{0,2})[、].*
看图:
我为这四级目录编写的正则表达式: