Hola Narcis, > no es tracta dels números sinó de buscar patrons amb una cadena > fixa en comptes de buscar cadenes amb un patró. > > Exemple amb números de DNI; la llista seria: > ES......... Spain > FR......... France > .........DE Germany > IT......... Italy > > I donat un DNI «55667788DE» poder trobar la línia del patró > corresponent: > .........DE Germany > I així extraure el nom de l'estat després de l'espai: Germany.
Amb Python, Perl o algun altre llenguatge de més alt nivell no seria més fàcil d'obtenir el país perquè podries capturar la part de l'expressió regular que t'interessi i utilitzar-la per indexar un diccionari: ``` #!/usr/bin/perl use v5.32; use strict; use warnings; my %paisos = ( 'DE' => 'Germany', ); for my $item (<DATA>) { chomp($item); say "$item -> $paisos{$1}" if $item =~ /([A-Z]{2})$/; } __DATA__ 12345678DE ``` > Cas més sofisticat; Rangs d'adreces IPv4 en un fitxer > «spammers.txt»: > 55\.66\.77\.88 > 66\.77\.88\..* > 99\.11\.22\.33 > > i amb això trobar que si la IP de l'interlocutor té > coincidència a la llista, aleshores no acceptar-lo. > I així poder incloure rangs també. Les expressions regulars per als rangs IP són poc acurades perquè no tenen en compte les màscares de bits dels segments. En general és millor enfocar aquest problema d'una altra manera més eficient (per exemple amb ipset) i utilitzar llistes negres que tinguin una reputació prou bona, per exemple: https://github.com/firehol/blocklist-ipsets És un tema que fa uns mesos que em vull mirar amb deteniment, però en el que encara no he pogut aprofundir. Si algú hi té experiència, estaria bé que ens expliqui com ho fa per incloure llistes negres al tallafocs. Salut, Alex -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ Alex Muntada <al...@debian.org> ⢿⡄⠘⠷⠚⠋ Debian Developer 🍥 log.alexm.org ⠈⠳⣄⠀⠀⠀⠀
signature.asc
Description: PGP signature