Hi Im trying to get a RegEx to work. I have this text:
/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
and Im trying to get everything from Td to Tj like
Td (CITI CARD ONLINE PAYMENT 12345678 05/29 87.99) Tj
but I want to skip things if they have no date, (must have forward slash), they must have a money amount(must have period) and I dont want it if it has the word “purchase” in it. So
Td (XX7445 DDA PURCHASE 0528 14:11 #03632 JEWEL CHICAGO IL 0529 97.60) Tj
would not be returned. right now I have
(Td \()([^\)]*)([^\)]*)([/][^\)]*[.][^\)]*\) Tj)
for my regex and that gets everything but it gets it even it has “purchase”
What you have is fine. Regex can be used for this.. but why
put a Formula 1 car on a go-kart track(<— bad analogy..) waste CPU cycles?Regex negative lookarounds are overkill for this.