EmEditor中大纲正则表达式如何匹配多位序号,如从1、到999

在知乎挂出了问题,没人理,求人不如求己,我自己终于把这个问题搞定了

EmEditor中大纲正则表达式如何匹配多位序号,如从1、到999

要匹配诸如: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})[、].*


看图: