Ok, I think I've narrowed down the greedy over-run to only look between 
matching register numbers...So basically this should work regardless of 
varying number of item lines in your receipt.

Search:
t_fiscale (\d{4})(\d{2})(\d{2}) (\d+) (\d+)$(?s).*?TOTALE EURO 
+([0-9,]+).*?C\.F\. +([\w]+).*?N\.SCONTR\.FISCALE +\5

Replace:
\5\n\3/\2/\1\n\6\n\7\n\n

On Friday, December 7, 2018 at 4:03:26 AM UTC-5, m.osti wrote:
>
> Well ThePorgie, not sure to have understood your note but... now it's 
> perfect.
> thank you
>
> Il giorno giovedì 6 dicembre 2018 19:33:55 UTC+1, ThePorgie ha scritto:
>>
>> Right you are. I didn't notice that when I last tested. Try this:
>> t_fiscale (\d{4})(\d{2})(\d{2}) (\d+) (\d+)$(?:.*\n){1,8}?TOTALE EURO 
>> +([0-9,]+)(?:.*\n){1,3}?C\.F\. +([\w]+)
>>
>> and replace:
>> \5\n\3/\2/\1\n\6\n\7\n\n
>>
>> Note: I'm not sure how many items you can have listed on your receipt 
>> which causes me pause even with this grep string as 1 receipt with a long 
>> list will get skipped. I couldn't come up with a way to stop the greedy 
>> over-run if the string didn't contain the "C.F...." line. If someone else 
>> notices something in this regard that I overlooked that would be great.
>>
>>
>> On Thursday, December 6, 2018 at 12:27:43 PM UTC-5, m.osti wrote:
>>>
>>> thank you for your concern. this GREP search is quite good: it get also 
>>> the sale(s) without CF that are unnecessary but I can just ignore them at a 
>>> fast glance.
>>>
>>> Il giorno mercoledì 5 dicembre 2018 18:20:28 UTC+1, ThePorgie ha scritto:
>>>>
>>>> I see you've got a script, but I like a puzzle... seems to work like 
>>>> this.
>>>>
>>>> t_fiscale (\d{4})(\d{2})(\d{2}) (\d+) (\d+)$(?s).+?TOTALE EURO 
>>>> +([0-9,]+).+?C\.F\. +([\w,]+)
>>>>
>>>> I used this with the extract option
>>>>
>>>>
>>>> On Tuesday, December 4, 2018 at 8:14:34 AM UTC-5, m.osti wrote:
>>>>>
>>>>> Hello, every day when I have to close up my shop I get this report 
>>>>> from the cash register. I have the obligation to transmit some sales data 
>>>>> through a web page, and I have to insert one receipt at a time, sigh.
>>>>> Only sales that have the "C.F." are valid.
>>>>> In this case I need it in the order:
>>>>> the date
>>>>> the receipt number
>>>>> the total euro
>>>>> the alphanumeric part after C.F. for example ABCDEF12G34H567I which is 
>>>>> of 16 characters always in this order 6 alphabetic characters, 2 numbers, 
>>>>> 1 
>>>>> character, 2 numbers, 1 character, 3 numbers, 1 character.
>>>>>
>>>>> Now I copy them by hand and then I use a macro that I created in 
>>>>> KeyboardMaestro. Since there is a lot of data that I don't need, to speed 
>>>>> up I tried to extract only the necessary values through a GREP search, 
>>>>> but 
>>>>> I failed, failed, failed and after many attempts I decided to ask.
>>>>> If it were possible I would also like the date separator to be / 
>>>>> instead of -
>>>>>
>>>>> I'm going to put on the cash register closure below: the values I need 
>>>>> are in red.
>>>>> Thank you and sorry for my english.
>>>>> ciao from italy
>>>>>
>>>>> -m
>>>>>
>>>>> ---
>>>>>
>>>>> t_fiscale 20170422 0846 *1*
>>>>>                   EURO  
>>>>> LENTI OFT         110,00
>>>>> MONTAGGIO LENTI    20,00
>>>>> TOTALE EURO       *130,00*
>>>>> CONTANTE          130,00
>>>>> C.F.   *ABCDEF12G34H567I* 
>>>>>                         
>>>>> CASSA:                01
>>>>> *22-04-2017*         08:46
>>>>> N.SCONTR.FISCALE       1
>>>>> t_fiscale 20170422 0936 *2*
>>>>>                   EURO  
>>>>> LENTI CONTATTO    100,00
>>>>> TOTALE EURO       *100,00*
>>>>> CONTANTE          100,00
>>>>> C.F.   *ABCDEF12G34H567I* 
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         09:36
>>>>> N.SCONTR.FISCALE       2
>>>>> t_fiscale 20170422 1037 *3*
>>>>>                   EURO  
>>>>> MONTATURE OFT     120,00
>>>>> LENTI OFT         120,00
>>>>> MONTAGGIO LENTI    20,00
>>>>> TOTALE EURO       *260,00*
>>>>> CONTANTE          260,00
>>>>> C.F.   *LMNOPQ89R01S234T* 
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         10:37
>>>>> N.SCONTR.FISCALE       3
>>>>> t_fiscale 20170422 1055 4
>>>>>                   EURO  
>>>>> IVA 22              8,00
>>>>> TOTALE EURO         8,00
>>>>> CONTANTE            8,00
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         10:55
>>>>> N.SCONTR.FISCALE       4
>>>>> t_fiscale 20170422 1826 *5*
>>>>>                   EURO  
>>>>> SOLUZIONI LAC      23,00
>>>>> TOTALE EURO        23,00
>>>>> CONTANTE           *23,00*
>>>>> C.F.   *LMNOPQ89R01S234T* 
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         18:26
>>>>> N.SCONTR.FISCALE       5
>>>>> t_non fiscale 20170422 1843 1
>>>>>       NON FISCALE       
>>>>>     RAPPORTO REPARTI "Z"     
>>>>>          PERIODICO 1         
>>>>> *(++ BELOW UNNECESSARY DATA ++)*
>>>>> DATA ULTIMO AZZERAMENTO      
>>>>>                    21-04-2017
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         18:43
>>>>> N.SCONTR.NON FISC      1
>>>>>       NON FISCALE       
>>>>> t_fiscale 20170422 1843 6
>>>>>       RAPPORTO *Z*      
>>>>>     CHIUSURA FISCALE    
>>>>>       DATI IN EURO      
>>>>>                         
>>>>> ------------------------
>>>>>      CORRISPETTIVI      
>>>>>        SCONTRINI        
>>>>> ------------------------
>>>>> CORRISP. GIORNALIERI    
>>>>>                 1 234,00
>>>>> PROGR. CORRISPETTIVI    
>>>>>               123 456,78
>>>>> NOTE DI CREDITO GIORN.  
>>>>>                     0,00
>>>>>                         
>>>>> ------------------------
>>>>>      CORRISPETTIVI      
>>>>>     DOCUMENTI CL.II     
>>>>> ------------------------
>>>>> CORRISP. GIORNALIERI    
>>>>>                     0,00
>>>>> *FATTURE            0,00
>>>>> *RICEVUTE           0,00
>>>>> NOTE DI CREDITO GIORN.  
>>>>>                     0,00
>>>>>                         
>>>>> ------------------------
>>>>>        DETTAGLIO        
>>>>>        OPERAZIONI       
>>>>> ------------------------
>>>>> SCONTI              0,00
>>>>>       N.    0           
>>>>> MAGGIORAZ.          0,00
>>>>>       N.    0           
>>>>> BONIFICI            0,00
>>>>>       N.    0           
>>>>> RETTIFICHE          0,00
>>>>>       N.    0           
>>>>> CORRISP. NON RISCOSSI   
>>>>> *SCONTRINI          0,00
>>>>> *RICEVUTE           0,00
>>>>> CORRISP. RISCOSSI       
>>>>> *SCONTRINI      1 234,00
>>>>> *FATTURE            0,00
>>>>> *RICEVUTE           0,00
>>>>>                         
>>>>> ------------------------
>>>>>        DOCUMENTI        
>>>>>       GIORNALIERI       
>>>>> ------------------------
>>>>> N.SCONTR.FISCALI       6
>>>>> *N.SCONTR./NOTE CRED.  0
>>>>> N.SCONTR.N FISCALI     1
>>>>> *N.RAPP.LETTURE DGFE   0
>>>>>                         
>>>>> N.DOCUMENTI CL.II      0
>>>>> *N.FATTURE             0
>>>>> *N.FATTURE/NOTE CRED.  0
>>>>> *N.RICEVUTE            0
>>>>>                         
>>>>> ------------------------
>>>>>      DATI GENERALI      
>>>>> ------------------------
>>>>> N.LETT.MEM.FISCALE     0
>>>>>                         
>>>>> PROGR. AZZERAMENTI   960
>>>>> NUM. RIPRISTINI        0
>>>>>                         
>>>>> ------------------------
>>>>> DISPOS.GIORN.ELETTRONICO
>>>>>       N.2 DEL 02-05-2014
>>>>>        MATR. 05 30005163
>>>>>                         
>>>>> CASSA:                01
>>>>> 22-04-2017         18:43
>>>>> N.SCONTR.FISCALE       6
>>>>>
>>>>>

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or need technical support, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <https://www.twitter.com/bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/bbedit.

Reply via email to