const regexMapaFolha = { companyName: (): RegExp => /Empresa\s*:\s*(?.*?)\s*\(\s*(\d{1,})\s*\)\s*Página/gm, companyCode: (): RegExp => /Empresa\s*:\s*.*?\s*\(\s*(?\d{1,})\s*\)\s*Página/gm, companyAddress: (): RegExp => /End\.\s*:\s*(?.*?)CNPJ\/CEI/gm, /** * Em caso de endereços grande pode quebrar o CNPJ por isso estou pegando qualquer ocorrencia de 14 caracteres numericos entre "CNPJ/CEI" e "Ref" * até o momento não teve caso de partir o cnpj no meio */ companyCNPJ: (): RegExp => /CNPJ\/CEI:((.|\n)*?)(?\d{14})((.|\n)*?)Ref\.:/gm, reportReference: (): RegExp => /Ref\.:\s*(?\d{2}\/\d{2}\/\d{4})\s*a\s*(?\d{2}\/\d{2}\/\d{4})/gm, contentEmployePage: (): RegExp => /Ref\.:\s*\d{2}\/\d{2}\/\d{4}\s*a\s*\d{2}\/\d{2}\/\d{4}(.*?)\n{1,}(?(.|\n)*)/gm, employeeInfo: (): RegExp => /^(?\d{1,})\s*(?.*?)(?(\.?\d{1,}){1,},\d{2})\s*Função\s*:(?(.|\n)*?)(?Livro(.|\n)*?Base INSS:.*$)/gm, employeeAdmissionDate: (): RegExp => /Admissão\s*:\s*(?\d{2}\/\d{2}\/\d{4})/gm, employeeEvents: (): RegExp => /Admissão\s*:(.*?)\n(?(.|\n)*?)(.*)\n\s*\*{5,}/gm, eventReference: (): RegExp => /.*?\s{2,}(?.*?)\s{2,}.*/g, eventInfo: (): RegExp => /^(?\d{1,})\s*(?(.*?))\s{2}/g, inss: (): RegExp => /Base\sINSS:(?.*?)\(Aliq\.:(?(.*?))%\)/gm, fgts: (): RegExp => /Base\sFGTS:(?.*?)\(Valor:(?(.*?))\)/gm, baseIRRF: (): RegExp => /Base\sIRRF\sFolha:\s(?.{1,15})/gm, }; export default regexMapaFolha;