【发布时间】:2013-01-27 10:17:40
【问题描述】:
您好,我正在尝试使用 RegEx。我有这段文字:
/Ffont2 45.83 Tf 252 980 Td (XX7445 DDA PURCHASE 05/28 04:48
MCDONALD'S F561 CHICAGO IL 105/29 10.25) Tj ET
0.000000 0.000000 0.000000 rg 0.000000 0.000000 0.000000 RG BT /Ffont2 45.83 Tf 252 937 Td ( 12333378 214904443) Tj ET
0.000000 0.000000 0.000000 rg 0.000000 0.000000 0.000000 RG BT /Ffont2 45.83 Tf 252 894 Td (CITI CARD ONLINE PAYMENT 12345678 05/29 87.99) Tj ET
0.000000 0.000000 0.000000 rg 0.000000 0.000000 0.000000 RG BT /Ffont2 45.83 Tf 252 851 Td (XX7445 DDA PURCHASE 0528 14:11 #03632 JEWEL CHICAGO IL 0529 97.60) Tj ET
我试图得到从Td 到Tj 的所有东西
Td (CITI CARD ONLINE PAYMENT 12345678 05/29 87.99) Tj
但是如果它们没有日期,我想跳过它们(必须有正斜杠),它们必须有金额(必须有句点),如果里面有“购买”这个词,我不想要它。所以
Td (XX7445 DDA PURCHASE 0528 14:11 #03632 JEWEL CHICAGO IL 0529 97.60) Tj
不会被退回。现在我有
(Td \()([^\)]*)([^\)]*)([/][^\)]*[.][^\)]*\) Tj)
对于我的正则表达式,它得到了一切,但即使它有“购买”,它也会得到它
【问题讨论】:
-
我希望那不是真实的卡号 + 到期..
-
(Td ([^)]*[/][^)]*[.][^)]*) Tj)
-
我已经重新格式化了文本,请检查是否正确。
标签: c# .net regex regex-negation