Regex untuk mengekstrak data di antara string
Sep 23 2020
Saya sudah mencoba ff regex di bawah ini tetapi tampaknya tidak berhasil. Saya ingin mengekstrak data antara F. Prepaids dan G. Pembayaran Escrow Awal dan mendapatkan contoh hasil ff di bawah ini. Terima kasih.
#regex saya
(?<=F. Prepaids)[\S\s]*?(?= G. Initial Escrow Payment)
#Tali
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
Jika saya mendapatkan data di antara saya juga ingin regex mendapatkan hasil ff yang data lain menyertakan baris baru berdasarkan strin di atas.
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.)
Ada ide dengan yang satu ini? Terima kasih.
Jawaban
2 WiktorStribiżew Sep 23 2020 at 11:13
Anda dapat menggunakan
(?m)(?<=F\. Prepaids[\s\S]*?^\d+ )[^\r\n]+(?:\r?\n[^\n\d][^\r\n]*)?(?=[\s\S]*?\nG\. Initial Escrow Payment)
Lihat demo regex
Detail
(?m)- mode multiline aktif(?<=F\. Prepaids[\s\S]*?^\d+ )- cocokkan lokasi yang diawali denganF. Prepaids, kemudian karakter nol atau lebih sesedikit mungkin, lalu 1+ digit di awal baris dan kemudian spasi[^\r\n]+- satu atau lebih karakter selain CR dan LF dan(?:\r?\n[^\n\d][^\r\n]*)*- nol atau lebih urutan CRLF atau akhiran LF, karakter non-digit dan non-baris baru dan kemudian karakter nol atau lebih selain baris baru dan carriage return(?=[\s\S]*?\nG\. Initial Escrow Payment)- lokasi saat ini harus diikuti dengan[\s\S]*?- sesedikit mungkin karakter nol atau lebih\n- baris baruG\. Initial Escrow Payment-G. Initial Escrow Paymentteks.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'