Utilizați expresii regulate REGEX pentru capturarea și extragerea automată a datelor (partea 2)
Cele mai mari oferte de reducere posibile
Exclusivități insider
Upgradări bonus gratuite
Cele mai mari oferte de reducere posibile
Exclusivități insider
Upgradări bonus gratuite
Prietenie-încredere-cuvânt de onoare
Nu vom împărtăşi niciodată adresa dvs de email altora și fiecare email va conține un link de dezabonare cu un singur clic.
În articolul de față vă vom arăta cum puteți extrage datele din document folosind expresii regulate complexe în PaperOffice și cum le puteți adăuga automat ca cuvinte cheie la document.
Avem un document de test care conține o dată specifică. Documentul în cauză este o factură. Formatul datei din document este următorul:
Luna, formată din litere, prima literă fiind întotdeauna majusculă, urmată de un spațiu, apoi ziua, urmată de o virgulă, alt spațiu și apoi anul.
De exemplu: Sep 20, 2019 sau Mär 05, 2022
Pentru a extrage această dată, putem folosi următoarea expresie regulată (REGEX):
Să descompunem această expresie în grupuri mai mici. Aceste grupuri sunt separate de paranteze simple ().
În primul grup căutăm cele 3 litere pentru luna: ([A-Z][a-zä]{2})
Apoi căutăm un spațiu folosind șirul: \s
În al doilea grup căutăm numele zilei în format numeric: (0[1-9]|[12][0-9]|3[01])
Numărul zilei trebuie descompus în trei seturi diferite. Având în vedere că nu știm ce formate de dată pot fi prezente în document, poate apărea prima zi (01) sau ultima zi (31) a lunii, trebuie să definească opțiuni diferite. Acestea sunt separate prin caracterul „|”. De exemplu, (1|2|3) = 1 sau 2 sau 3.
În paranteze pătrate se găsește o listă de caractere permise. Mai multe paranteze pătrate corespund mai multor caractere. Dacă un șir trebuie să descrie mai multe caractere, acestea trebuie unite. Elementele din text sunt comparate cu expresia în ordine de la stânga la dreapta.
Desigur, nu trebuie neapărat să fie listate toate numerele. În total, întregul șir dintre paranteze reprezintă doar un singur caracter.
Șirul caută un model de numere care începe cu zero. În cazul în care documentul dvs. conține de obicei o dată „5 Martie 2022”, fără zero în fața cifrei „5”, zero este omis în șir.
După ce s-au definit opțiunile pentru zi, trebuie să definim expresia pentru an.
Acum căutăm virgula și spațiul: ,\s
În ultimul grup căutăm anul: (20\d{2})
Începem căutarea din orice an posibil, dar știm că Anul va fi ≥ 2000.
Caracterul \d înseamnă, de exemplu, o cifră între 0 și 9, iar caracterul \d{2} înseamnă că căutăm un număr cu două cifre.
Când expresia regulată este aplic
Ca exemplu suplimentar, dorim să citim numărul de comandă din document.
Numărul de comandă de pe documentul nostru are următorul format:
Acesta începe întotdeauna cu majusculele XYB, urmat de un cratim, apoi de 8 cifre, încă un cratim și, în final, 3 litere mari aleatorii.
Exemple de numere de comandă ar fi:
XYB-12316723-LSH
XYB-98456723-JRD
Pentru a extrage acest număr de comandă, putem utiliza urmatorul regex:
Hai să dezmembrăm expresia.
Mai întâi căutăm exact primele 3 majuscule cu semnul cratim: XYB-
Apoi căutăm 8 cifre urmate de încă un cratim: \d{8}-
Caracterul \d, aşa cum am descris deja, reprezintă o cifră între 0 și 9, iar \d{8} caută un număr cu opt cifre.
Și, în cele din urmă, căutăm 3 litere mari aleatorii: [A-Z]{3}
Astfel, PaperOffice ar recunoaște primele două elemente, XYB-12316723-LSH și XYB-98456723-JRD, din aceste numere de comandă:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
Am pregătit un link la Regex101 pentru acest exemplu, unde este enumerată expresia regulată descrisă mai sus, împreună cu patru exemple. Veți vedea că doar două dintre numerele de comandă specificate îndeplinesc cerințele noastre.
Numărul de articol de pe documentul nostru are următorul format:
Acesta începe întotdeauna cu două litere mari, urmate de un cratim, apoi de 6 cifre.
Exemple de numere de articol ar fi:
MS-863398
DS-452829
Pentru a extrage aceste numere de articol, putem utiliza următorul regex:
PaperOffice poate digitaliza documentele dumneavoastră și le poate integra în sistemul dumneavoastră pentru automatizarea extragerii datelor din facturi și alte documente, fără a trebui să scrieți și să mențineți nenumărate linii de cod.
Contactați-ne pentru a discuta despre cazurile voastre de utilizare și pentru a afla mai multe despre cum vă poate ajuta PaperOffice să vă mențineți competitiv în era digitală.
A începe este mai ușor decât credeți.
Aveți încă îndoieli că nu veți reuși? Citiți studiile de caz ale clienților noștri despre integrarea PaperOffice în mediul lor de afaceri și convingeți-vă singuri despre ușurință sau solicitați pur și simplu o instalare de testare.
ERROR: LID-5759 missing
ERROR: LID-6036 missing
ERROR: LID-6035 missing
ERROR: LID-5763 missing
ERROR: LID-6039 missing
ERROR: LID-6035 missing
ERROR: LID-5756 missing
ERROR: LID-6042 missing
ERROR: LID-5803 missing
ERROR: LID-5793 missing
ERROR: LID-6069 missing
ERROR: LID-6070 missing
ERROR: LID-5787 missing
ERROR: LID-6072 missing
ERROR: LID-6035 missing
ERROR: LID-5789 missing
ERROR: LID-6077 missing
ERROR: LID-6070 missing
ERROR: LID-6074 missing
ERROR: LID-5771 missing
ERROR: LID-6075 missing
ERROR: LID-6035 missing
ERROR: LID-5777 missing
ERROR: LID-5759 missing
ERROR: LID-5763 missing
ERROR: LID-5800 missing
ERROR: LID-5769 missing
ERROR: LID-6082 missing
ERROR: LID-6083 missing