Regex para extrair dados entre string
Sep 23 2020
Eu tentei o ff regex abaixo, mas não parece funcionar. Eu queria extrair dados entre F. Pré-pago e G. Pagamento de garantia inicial e obter o resultado de amostra ff abaixo. Obrigado.
#my regex
(?<=F. Prepaids)[\S\s]*?(?= G. Initial Escrow Payment)
#Corda
F. Prepaids $887.01 01 Homeowner's Insurance Premium ( 12 mo.) toAmerican Family $893.00
Insura
02 Mortgage Insurance Premium ( mo.)
03 Prepaid Interest ($5.99 per day from 10/02/2020 to 10/01/2020) -$5.99
04 Property Taxes ( mo.)
05
06
07
08
G. Initial Escrow Payment at Closing $3,776.11
Se eu obtiver os dados intermediários, também quero um regex para obter o resultado ff, que outros dados incluem novas linhas com base na strin acima.
Homeowner's Insurance Premium ( 12 mo.) to American Family Insura
Mortgage Insurance Premium ( mo.)
Prepaid Interest ($5.99 per day from 10/02/2020 to 10/01/2020)
Property Taxes ( mo.)
Alguma ideia com este? Obrigado.
Respostas
2 WiktorStribiżew Sep 23 2020 at 11:13
Você pode usar
(?m)(?<=F\. Prepaids[\s\S]*?^\d+ )[^\r\n]+(?:\r?\n[^\n\d][^\r\n]*)?(?=[\s\S]*?\nG\. Initial Escrow Payment)
Veja a demonstração de regex
Detalhes
(?m)- modo multilinha ativado(?<=F\. Prepaids[\s\S]*?^\d+ )- corresponde a um local imediatamente precedido porF. Prepaids, então, qualquer zero ou mais caracteres o mínimo possível, então 1+ dígitos no início de uma linha e, em seguida, um espaço[^\r\n]+- qualquer um ou mais caracteres diferentes de CR e LF e(?:\r?\n[^\n\d][^\r\n]*)*- zero ou mais sequências de finalização CRLF ou LF, qualquer caractere diferente de dígito e não newline e, em seguida, qualquer zero ou mais caracteres diferentes de uma nova linha e retorno de carro(?=[\s\S]*?\nG\. Initial Escrow Payment)- a localização atual deve ser seguida por[\s\S]*?- qualquer zero ou mais caracteres, o mínimo possível\n- uma nova linhaG\. Initial Escrow Payment- umG. Initial Escrow Paymenttexto.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas