在我看来,这应该匹配得很好。有人可以向我指出我做错了吗?
正则表达式:
^.* ATM DEPOSIT (?'Month'\d{2})-(?'Day'\d{2}) #(?'Reference'[0-9A-Za-z]) .*$
字符串:
BKOFAMERICA ATM DEPOSIT 07-05 #006475 CUSTOMER 2323 BANK OF AMERICA, SAVANNAH, GA
答案 0 :(得分:4)
您错过了+
。
你的表达。
^.* ATM DEPOSIT (?'Month'\d{2})-(?'Day'\d{2}) #(?'Reference'[0-9A-Za-z]) .*$
正确表达。
^.* ATM DEPOSIT (?'Month'\d{2})-(?'Day'\d{2}) #(?'Reference'[0-9A-Za-z]+) .*$
除此之外,由于您在日期之前和参考之后对任何事情都不感兴趣,因此无需匹配。使用:
ATM DEPOSIT (?'Month'\d{2})-(?'Day'\d{2}) #(?'Reference'[0-9A-Za-z]+)
答案 1 :(得分:3)
你忘记了子匹配结束时的+。看起来应该是这样的
(?'Reference'[0-9A-Za-z]+)