Context:
- Al peu de la {{Infotaula competició esportiva}} s'enllaça amb l'article de l'edició anterior i posterior del mateix campionat, temporada, etc.
- per evitar els llargs noms que tenen, es mostra un enllaç tipus [[campionat de primera divisió d'argentina 2001|2001]] només quan la part de text coincideix amb la mateixa part del nom de l'article que estem tractant. Altrament, es mostra el nom sencer, ja que no podem estar segurs que es tracti del mateix campionat o d'un altre que l'hagi succeït.
- El codi actual no preveu altres valors numèrics diferents a l'any (aaaa), com ara les temporades aaaa-aaaa o aaaa-aa, ja sigui amb guió curt o llarg.
Em cal:
Una expressió regular que, a partir de DUES cadenes em retornés el text per construir l'enllaç.
- P. Ex.
1924–25 Coupe de France
vs1923–24 Coupe de France
, n'hauriem d'obtindre:1923–24 Coupe de France
i1923–24
- però si fos:
Copa de França de 1924–25
vs1923–24 Coupe de France
, n'hauriem d'obtindre:1923–24 Coupe de France
i1923–24 Coupe de France
, ja que no és pot fer un enllaç curt en trcatar-se de noms diferents.
A continuació descric les condicions a complir.
- Considerem que tenim una cadena a tractar formada per una part numèrica i tota la resta l'anomenarem "textual" (és el valor de l'article anterior/posterior que volem enllaçar). Els resultats a retornar sempre surten d'aquesta cadena.
- Tenim una segona cadena que ens fa de patró d'on obtenir la seva part "textual de referència" (és el nom de l'article actual d'on només ens interessa la seva part "textual" per veure si és igual).
- la "part numèrica" és qualsevol combinació de xifres (anys) amb els patterns: aaaa, aaaa-aa aaaa-aaaa (guió curt), aaaa–aa aaaa–aaaa (guió llarg) aïllats i situats en qualsevol punt de la cadena (habitualment inici o final)
- la "part textual" és la resta de la cadena després d'extreure la part numèrica.
- qualsevol xifra que no compleixi els patterns, cal considerar-la com a part textual.
- Si no hi ha part numèrica en qualsevol de les dues cadenes cal retornar la "cadena a tractar", tal qual, ja que no aplica cap transformació.
- Si les parts textuals d'ambdues cadenes són iguals, cal retornar la "part numèrica" de la cadena a tractar, per poder construir un enllaç conduit.
- Si les parts textuals són diferents, cal retornar la "cadena a tractar" sense cap intervenció.
Casos per fer test:
item | Patró | a tractar | resultat | cas |
---|---|---|---|---|
wd:Q535351 | Primera divisió espanyola de futbol 1971-72 | Primera divisió espanyola de futbol 1970-71 | 1970-71 | vàlid amb guió curt |
wd:Q291741 | Lliga de Campions de l'AFC 2008 | 2007 AFC Champions League | 2007 AFC Champions League | text desigual |
wd:Q316285 | 2000–01 Fußball-Bundesliga | 1999–2000 Fußball-Bundesliga | 1999–2000 | pattern númeric diferent (correcte) |
wd:Q457437 | 1999–2000 Deutsche Eishockey Liga season | 1998–99 Deutsche Eishockey Liga season | 1998–99 | pattern númeric diferent (correcte) |
wd:Q314398 | 1925 German football championship | 1924 German football championship | 1924 | pattern vàlid al començament |
wd:Q325606 | Campionat del món de ciclisme en pista de 1902 | Campionat del món de ciclisme en pista de 1901 | 1901 | pattern vàlid al final |
wd:Q425774 | 1946–47 Serie A | 1945–46 Serie A–B | 1945–46 Serie A–B | text desigual |
wd:Q69893 | Temporada 2006 de Fórmula 1 | Temporada 2005 de Fórmula 1 | 2005 | pattern vàlid al mig |
wd:Q165753 | 2014 UEFA Women's U-19 Championship | 2013 UEFA Women's U-19 Championship | 2013 | xifres dins el text |
wd:Q187376 | FA Premier League 2007-08 | 2006–07 FA Premier League | 2006–07 | pattern vàlid en diferent posició |
wd:Q317240 | 1987–88 2. Fußball-Bundesliga | 1986–87 2. Fußball-Bundesliga | 1986–87 | xifres dins el text |
wd:Q370996 | 1915–16 Swiss Serie A | 1914–15 Swiss Serie A | 1914–15 | vàlid amb guió llarg |
wd:Q372009 | 2008–09 Lebanese Premier League | 2007–08 Lebanese Premier League | 2007–08 | vàlid amb guió llarg |
wd:Q581465 | Campionat d'Europa de Natació en Piscina Curta 2009 | 2008 European Short Course Swimming Championships | 2008 European Short Course Swimming Championships | text desigual |
wd:Q319483 | 1976–77 2. Fußball-Bundesliga | 1975–76 2. Fußball-Bundesliga | 1975–76 | xifres dins el text |
wd:Q614186 | Italian Cup 1979/80 | Italian Cup 1978-1979 | Italian Cup 1978-1979 | pattern numèric no vàlid |
wd:Q467768 | 2. Bundesliga 1998-1999 | 2. Bundesliga 1997-1998 | 1997-1998 | xifres dins el text |
Més casos rels a https://w.wiki/BZHB
Gràcies !