我在Notepad ++中使用正则表达式,2016年11月后的最新版本
我正处理问题,我有几十个包含工资和佣金收入财务信息的文本文件。我需要找到所有获得佣金的员工
文件的格式是这样的。
emp001smithj20150000095000
是去年没有佣金的例子(位置17,5个字符=" 00000")
emp002jonest20151752545000
是去年获得的17525美元佣金的一个例子(位置17,5个字符=" 17525")
我已经尝试过了......
^.{16}\b[1-9]{5}\b
理由是我想要从位置16开始的五个字符边界中的任何非零数字,但没有运气。我显然错过了一些东西!
答案 0 :(得分:2)
你不应该在这里使用字边界,因为你的数字被其他数字包围。您需要前瞻检查,您的5位数字号码不仅仅包含数字,因此可以采用以下方式:
^.{16}(?=0{0,4}[1-9])\d{5}
您不应该尝试匹配[1-9]{5}
,例如赢了,不匹配15000
答案 1 :(得分:2)
^.{16}(?!00000)
使用否定外观查找下一个不是00000的五个字符