Hur fånga den här texten med regex?

Permalänk
Medlem

Hur fånga den här texten med regex?

Jag har den här texten:

✂ ✂ ✂Digitalt Frimärke 1. Mottagarens adress skriver du som vanligt på framsidan. Skriv gärna din egen på baksidan. 2. Skriv koden med mörk penna i brevets övre högra hörn. Eller skriv ut etiketten, smidigt! 3. Skriv i versaler på 3 rader, med 4 tecken på varje rad som i etiketten nedan. 4. Posta ditt brev i en gul brevlåda eller lämna till ombud. Klar! ABCD EFGH IJKL Klas Klasson Stora Gatan 8 11111 StadInrikes Brev Giltig i 10 dagar. Posta brevet senast 2 april. Maxmått L max 60 cm. L+B+H max 90 cm. Yta min 9 x 14 cm.

Jag har lyckats att fånga portokoden men vill få själva adressen i nästa grupp. Har skrivit såhär:

(^\w{4}$)(^\[A-Za-z ]+)

Den första gruppen funkar utan problem för att fånga enbart portokoden men jag får inte den andra alls att fungera, någon som kan hjälpa mig? Regex tillhör tyvärr inte min starka sida.

Permalänk
Medlem

"Portokoden"? Menar du postnumret?
Jag förstår inte vad du frågar efter...

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S

Permalänk
Medlem

Varför tar du inte radnumret istället?

Permalänk
Medlem

Var nog något otydlig inser jag Portokoden är alltså bokstäverna på tre rader ABCD,EFGH,IJKL

Den har jag lyckats få med men behöver också namnet och adressen som står under portokoden och som är i fetstil.

Permalänk
Medlem
Skrivet av Tallrot:

Jag har den här texten:

✂ ✂ ✂Digitalt Frimärke 1. Mottagarens adress skriver du som vanligt på framsidan. Skriv gärna din egen på baksidan. 2. Skriv koden med mörk penna i brevets övre högra hörn. Eller skriv ut etiketten, smidigt! 3. Skriv i versaler på 3 rader, med 4 tecken på varje rad som i etiketten nedan. 4. Posta ditt brev i en gul brevlåda eller lämna till ombud. Klar! ABCD EFGH IJKL Klas Klasson Stora Gatan 8 11111 StadInrikes Brev Giltig i 10 dagar. Posta brevet senast 2 april. Maxmått L max 60 cm. L+B+H max 90 cm. Yta min 9 x 14 cm.

Jag har lyckats att fånga portokoden men vill få själva adressen i nästa grupp. Har skrivit såhär:

(^\w{4}$)(^\[A-Za-z ]+)

Den första gruppen funkar utan problem för att fånga enbart portokoden men jag får inte den andra alls att fungera, någon som kan hjälpa mig? Regex tillhör tyvärr inte min starka sida.

Testa med nedan om du har stöd för Unicode property escapes.

(?m)^([A-Z]{4}\n[A-Z]{4}\n[A-Z]{4})\n([\p{L} ]+\n.+\n\d{5} .+)

Annars;

(?m)^([A-Z]{4}\n[A-Z]{4}\n[A-Z]{4})\n([\wåäöÅÄÖ ]+\n.+\n\d{5} .+)

Visa signatur

Raid is not backup

Permalänk
Hedersmedlem

Hur kör du regexet? Är det från ett programmeringsspråk? Om formatet är detsamma så vore det isåfall antagligen mycket enklare att först matcha var portokoden står, sedan bara ta med 3 rader till efter det, utan regex.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem
Skrivet av Thomas:

Hur kör du regexet? Är det från ett programmeringsspråk? Om formatet är detsamma så vore det isåfall antagligen mycket enklare att först matcha var portokoden står, sedan bara ta med 3 rader till efter det, utan regex.

Ja det är ifrån python så det vore väl iofs enklare inser jag också att bara plocka ut det baserat på radnummer och skita i regex som du säger Tack för tipset!