为什么此正则是线条[^/] d {4}在线路开始时与4位数字不匹配



模式[^/]d{4}适用于2014(i)01/01/2015,而2014(i)则是文本文件中的第一个项目时。

reggexstorm中的样本

您正在寻找数字前的 cartarage ,在线/字符串的开头时,没有字符。正如@Jonskeet在评论中提到的那样,因为在行开始时没有数字之前没有字符,[^/]消耗了第一个数字,因此左数字的数量与d{4}不匹配。也就是说,您正在寻找:

(?<!/)d{4}
  • (?<!/)一个负面的外观,在数字之前没有/(断言,不使用字符(

live demo

,或者如果您对上一个字符没有问题:

(?:^|[^/])d{4}

最新更新