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
  ⠈⠳⣄⠀⠀⠀⠀

Attachment: signature.asc
Description: PGP signature

Respondre per correu electrònic a