模式[^/]d{4}
适用于2014(i)
和01/01/2015
,而2014(i)
则是文本文件中的第一个项目时。
reggexstorm中的样本
您正在寻找数字前的 cartarage ,在线/字符串的开头时,没有字符。正如@Jonskeet在评论中提到的那样,因为在行开始时没有数字之前没有字符,[^/]
消耗了第一个数字,因此左数字的数量与d{4}
不匹配。也就是说,您正在寻找:
(?<!/)d{4}
-
(?<!/)
一个负面的外观,在数字之前没有/
(断言,不使用字符(
live demo
,或者如果您对上一个字符没有问题:
(?:^|[^/])d{4}