Re: Filtrar comodins/regex de les línies

Eloi <[email protected]>
Newsgroups gmane.linux.debian.user.catalan
Message-ID <[email protected]>
El 17/1/24 a les 16:10, julio ha escrit:
>
> El 17 de gener de 2024 8:39:26 CET, Narcis Garcia <[email protected]> ha escrit:
>> Bones,
>>
>> Tinc un fitxer de text, com podria ser per exemple una llista de números de telèfon (coneguts.txt):
>> 972123456
>> 972111133
>> 972111134
>> 972111135
>> 972111136
>> 972789012
>> però m'agradaria representar-hi rangs compatibles (expressions regulars) per abreviar:
>> 972123456
>> 9721111..
>> 972789012
> Com no estem acotant amb ^  ni amb $
>
>
> 9
> 7
> 2
> .
> etcètera
> 97
> 72
> 21
> 9.
> .9
> etc
> 972
> 97.
> 9.2
>
> I això sense fent servir només dígits i el caràcter . no literal.
>
> Sembla un problema matemàtic de combinatòria :)
>
> O probablement no ho he entès.
>
> Vagi bé.
>
Suposant que el que es cerca són números de N dígits i que els patrons 
de cerca son igualment de N caràcters i no fan servir repeticions (o 
sigui, que troben o bé un caràcter específic o bé qualsevol), existeixen 
2^N patrons que coincideixen amb un número de N dígits. Amb N=9 són 512 
patrons compatibles.

Si a més del . (qualsevol dígit) vols també poder indicar rangs de 
dígits [0-9], per a cada posició tens 10 rangs possibles, incloent el 
[0-9] equivalent al . i el [d-d] equivalent al dígit específic (en 
general, tindries el rang [k-d] (o [d-k] si k>d) per k=0..9 i d fixat). 
En aquest cas, són 10^N els possibles patrons que pot complir un nombre 
de N dígits, que ja són 100 milions per N=9.

Si acceptes patrons amb un subconjunt arbitrari de dígits per a cada 
posició (posem per cas, els senars), crec que tindries sum(k=1..10, 
10!/((10-k)!·k!)) (tinc la combinatòria molt rovellada), que és una 
burrada que després encara s'haurà d'elevar a la novena potència.

De tots aquests possibles patrons, quin seria el que esperaries com a 
resultat correcte?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.