Otomatik Veri Yakalama ve Çıkarma İçin Düzenli İfadeler REGEX Kullanımı (Bölüm 2)
En Yüksek İndirim Teklifleri
Özel içeriden haberler
Ücretsiz bonus yükseltmeler.
En Yüksek İndirim Teklifleri
Özel içeriden haberler
Ücretsiz bonus yükseltmeler.
Dostluk Güven Sözü ve Onur Sözü
E-posta adresinizi asla başka kimseye vermeyeceğiz ve her e-postada bir tıklamayla aboneliği iptal etme bağlantısı bulunur.
Mevcut makalede, otomatik belge işleme avantajlarından yararlanmak için düzenli ifadelerin nasıl kullanılacağını göstereceğiz. Bu özellikle herhangi bir sektördeki işletmelerin belgeleri için geçerlidir.
Düzenli ifadelerle ilgili kesin örnekleri gösterecek ve bunların ne anlama geldiğini ve nasıl kullanılabileceğinizi adım adım açıklayacağız.
Böylece iş verimliliğinizi artırabilir, daha yüksek hassasiyetle insan hatalarını azaltabilir, mevcut maliyetlerinizi düşürebilir, veri bütünlüğünü koruyabilir ve veri güvenliğinizi iyileştirebilirsiniz.
Mevcut makale, akıllı belge işleme hakkındaki ilk bölümü genişletmektedir, makaleye buradan doğrudan erişebilirsiniz.
Belgelerden belirli veri öğelerini çıkarmak son derece maliyetli ve zaman alıcı bir görev olabilir. Sık sık belge taramaları, büyük dış kaynaklı veri yakalama şirketlerine gönderilir, burada veriler manuel olarak girilir.
Ancak bu yaklaşıma çeşitli dezavantajlar da vardır, şunlar gibi:
Ve diğer birçok dezavantaj.
Taramanın yaygınlığına rağmen, işlemlerin büyük kısmı hala kağıt tabanlı belgelere dayanmaktadır. Tahminlere göre, faturaların hala% 85'i kağıt üzerinde düzenlenmektedir.
Ayrıca, depolanması gereken devasa miktarlarda kağıt var!
Düzenli ifadeler, metinleri aramak ve değiştirmek için güçlü bir araç olarak bilinir. Metinlerde karmaşık desenleri algılamak ve düzenlemek için kullanılırlar.
Bir düzenli ifade, özel işlevlere sahip normal harflerin ve özel meta karakterlerin bir kombinasyonundan oluşur.
Düzenli ifadeler aynı zamanda metni değiştirmek veya manipüle etmek için de kullanılabilir. Örneğin, bir düzenli ifade kullanılabilir.
Bunlar, metin işleme ve görev otomasyonu için çok güçlü bir araçtır.
Farklı tiplerde, farklı adlandırma kurallarına sahip ve yeterli bir arama sistemi olmadan dijital belgelerin artması, belge bilgilerinin belirli içeriklerden çıkarılma sürecini ve ayrıştırma sürecini zorlaştırmaktadır, özellikle sınıflandırılmamış belgelerle ilgili olduğunda, arama doğru olmaz ve uzun sürer.
Bu şekilde belge içeriği belirtilen bir karakter dizisi ile aranır ve okunur.Düzenli ifadeler, özel simgeler kullanarak bilgilerde desenleri tanımlama yoludur.
Düzenli ifade yöntemi, çıkarılacak değerlerin pozisyonlarının değişebileceği belgeler için en uygun olanıdır ve basit belge şablonları işe yaramaz.
Basit ifadelerle bir liste için ComDesk sayfamızı ziyaret edebilirsiniz.
Düzenli ifadeler, aranan desen türüne bağlı olarak farklı şekillerde yapılandırılabilir.
Karakterler veya kalıplar belirtmek için ., *, +, ?, ^, $, [] ve [a-z] gibi meta karakterleri kullanın.
İsteğe bağlı parçaları kullanın: Parçaları isteğe bağlı hale getirmek için ? (soru işareti) veya * (yıldız) işaretini kullanın.
Grupları kullanın: Parçaları gruplayın ve bunları bir birim olarak ele almak için parantez kullanın.
Düzenli ifadelerin kuralları programlama dillerine göre farklılık gösterebilir. Bu nedenle, kullanılan araçların belgelerini okumanız önemlidir. PaperOffice için yazılan RegEx, ECMAScript ve PCRE2 ile uyumlu olmalıdır.
İpucu
"Otomatik belge arşivleme / Regex & Değişkenler / Fatura işleme otomasyonu" konulu bir video da bulunmaktadır. Bu süreci basit ve anlaşılır bir şekilde açıklıyor.
Bu makalede, PaperOffice'da çok elemanlı düzenli ifadeler (REGEX) kullanarak belgenizden herhangi bir veriyi çıkarmanızı ve otomatik olarak belge etiketlerine yerleştirmenizi göstereceğiz.
Aşağıda, belirli bir tarih içeren bir örnek belge oluşturduk. Bu belge bir fatura. Belgemizdeki tarih şu şekilde biçimlendirilmiştir:
Ay, büyük harfle başlayan harflerden oluşur ve ardından bir boşluk, günün ardından bir virgül, başka bir boşluk ve ardından yıl gelir.
Örneğin: Eyl 20, 2019 veya Mar 05, 2022
Bu tarihi çıkarmak için aşağıdaki düzenli ifadeyi (REGEX) kullanabiliriz:
İfadeyi gruplarına ayırmaya başlayalım. Bu gruplar basit parantezler () ile ayrılır.
İlk grupta 3 harfli ayları arıyoruz: ([A-Z][a-zä]{2})
Ardından bir boşluk ile bir dize ararız: \s
İkinci grupta, gün adını sayılarla arıyoruz: (0[1-9]|[12][0-9]|3[01])
Gün ifadesi üç farklı talimatla ayrıldı.
Belgede hangi tarih ifadesinin olabileceğini bilmediğimizden, ayın ilk günü (01) veya ayın son günü (31) olabileceğini tahmin etmeliyiz, bu nedenle ilgili seçenekler ayrı ayrı adlandırılmalıdır.
Bunlar | işaretiyle ayrılır.
Örnek: (1|2|3) = 1 ya da 2 ya da 3.
Köşeli parantez içinde izin verilen karakterlerin bir listesi yer alır. Bir ifade birden fazla karakteri tanımlamak için, bunları yan yana eklemeniz yeterlidir. Ardından girişiniz, sağdan sola doğru ifadenizle karşılaştırılır.
Tanımlanan tüm sayıların her zaman kullanılması gerekmez. Klamplı ifadenin tamamı, tek bir karakter için kullanılır.
Karakter dizisi, bir sıfır ile başlayan bir numara modelini arar. Belgeniz genellikle "5. März 2022" tarihini içeriyorsa, yani sayı "5" den önce "0" olmadan, bu durumda karakter diziden "0" çıkarılır.
Gün seçenekleri belirlendikten sonra, yıl ifadesi belirlenmelidir.
Şimdi virgül ve boşluğa bakıyoruz: ,\s
Son grupta yılı arıyoruz: (20\d{2})
Herhangi bir yıl için aramaya başlıyoruz, ancak ≥ 2000 olacağını biliyoruz.
Bir diğer örnek olarak, belgeden sipariş numarasını okumak istiyoruz.
Sipariş numarası belgemizde şu şekilde formatlanmıştır:
Bu her zaman büyük harflerle XYB ile başlar, ardından bir tire gelir, bunu sekiz rakam, bir daha tire, ve son olarak üç rastgele büyük harf izler.
Örnek sipariş numaraları:
XYB-12316723-LSH
XYB-98456723-JRD
Bu sipariş numarasını çıkarmak için şu düzenli ifadeyi kullanabiliriz:
Gelin, ifadeyi ayrı ayrı inceleyelim.
İlk olarak tire işaretiyle tam olarak ilk üç büyük harfi arıyoruz: XYB-
Ardından sekiz rakam ve bir daha tire arıyoruz: \d{8}-
Daha önce belirtildiği gibi, \d karakteri 0 ile 9 arasındaki bir rakam için kullanılır, \d{8} ise sekiz haneli bir sayıyı arar.
Son olarak, üç büyük harf arıyoruz: [A-Z]{3}
Örneğin, PaperOffice aşağıdaki sipariş numaralarından:
XYB-12316723-LSH
XYB-98456723-JRD
XYB-975432671829
ZYB-12342176-ZHD
XYB-12316723-LSH ve XYB-98456723-JRD gibi ilk iki numarayı tanır.
Belirtmiş olduğumuz dört örnekyle birlikte açıklanan bu düzenli ifade için Regex101 üzerinde bir link oluşturduk. Göreceksiniz ki, verilen sipariş numaralarından sadece ikisi gereksinimlerimize uygun.
Ürün numarası belgemizde şu şekilde formatlanmıştır:
Bu her zaman iki büyük harf ile başlar, ardından bir tire gelir, bunu altı rakam izler.
Örnek ürün numaraları:
MS-863398
DS-452829
Bu ürün numaralarını çıkarmak için şu düzenli ifadeyi kullanabiliriz:
PaperOffice, faturalardan ve diğer belgelerden veri çıkarma işlemini gerçekleştirmenizi sağlamak için belgelerinizi dijitalleştirebilir ve sistemlerinize entegre edebilir. Bu işlem için sayısız kod yazmak ve ardından bunları sürdürmek zorunda kalmazsınız.
Uygulama durumlarınız hakkında konuşmak ve PaperOffice'in dijital çağda daha rekabetçi olmanıza nasıl yardımcı olabileceği hakkında daha fazla bilgi edinmek için bizimle iletişime geçin.
Başlamanız düşündüğünüzden daha kolay.
Bunu başaramayacağınız hakkında hala endişeleriniz mi var? Müşterilerimizin PaperOffice'i iş hayatına entegre etme hikayelerini okuyun ve kolaylığını kendiniz görün veya test kurulumu isteyin.
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