visca.com | Diccionari Regex

Guia pas a pas al Diccionari Regex

Introducció

Si ja sabeu com funcionen les expressions regulars de Perl podeu fer cerques incorporant qualsevol expressió regular vàlida. Observem que la sintaxi de les expressions regulars de PHP s'assembla força a la de Perl.

El Diccionari Regex també se serveix de dos caràcters especials: $v representa totes les vocals (els caràcters [aàeéèiíïoóòuúü]) i $c, totes les consonants (els caràcters [bcçdfghjklmnpqrstvwxyz]).

Si no coneixeu el món d'expressions regulars, la manera més fàcil d'aprendre a utilitzar el Diccionari Regex és seguir una sèrie d'exemples. Per començar farem servir patrons que descriuen quines condicions ortogràfiques han de tenir les paraules que cerquem. Les buscarem en totes les categories gramaticals i, de moment, sense filtrar els resultats.

Principi | Diccionari Regex



Cercar mots o fragments de mot

  1. Cercar el patró "gat" vol dir "Cercar qualsevol mot que conté aquestes tres lletres consecutives". S'ofereixen 273 ocurrències: gatera, arreplegat, negativisme, etc.
  2. Cercar el guionet "-" resultarà en més de 1500 ocurrències (ala-roig, nou-ric, espoltrar-se, etc.), mentre que buscar l'apòstrof "'" oferirà 30 mots: (abans-d'ahir, 'ns, entrebatre's, etc.).

Principi | Diccionari Regex



Coincidir al principi o al final de mot

Els caràcters "^" i "$" s'anomenen ÀNCORES; indiquen on els mots cercats han de coincidir amb el patró: al principi del mot (^) o al final ($).

  1. Podem cercar tots els mots que acaben en "gat" col·locant l'àncora "$" al final del patró.
    Patró Descripció Resultats
    gat$ Cercar qualsevol mot que acaba en gat. boca-rugat, obligat, plegat, etc.

  2. Podem cercar tots els mots que comencen en "gat" col·locant l'àncora "^" al principi del patró. Lògicament, si fem servir alhora les dues àncores, l'única ocurrència que s'oferirà és el mot gat:
    Patró Descripció Resultats
    ^gat Cercar qualsevol mot que comença en gat. gatonera, gatzoll, gatejar, etc.
    ^gat$ Cercar qualsevol mot que comença i termina en gat. gat

  3. El Diccionari Regex se serveix de dos comodins especials (un comodí és un caràcter que, en una cerca de mot o en qualsevol altra operació, substitueix un altre caràcter o un conjunt de caràcters): $v coincidirà amb qualsevol vocal ([aàeéèiíoóòuú]) i $c coincidirà amb les consonants ([bcçdfghjklmnpqrstvwxyz]). Heus aquí uns quants exemples:
    Patró Descripció Resultats
    ^b$vc$ Cerca mots que comencen en b seguida d'una vocal i que terminen en c (4 resultats). bac, bec, boc, buc
    ^b$v$c$ Cerca mots que comencen en b seguida d'una vocal i que terminen en una sola consonant (23 resultats). bar, bes, bon, bum, etc.
    ^b$v$v$c$ Cerca mots que comencen en b seguida de dues vocals i que terminen en una sola consonant (12 resultats). baix, beat, boom, bòer, etc.

  4. Observem ara el que passa si suprimim l'una o l'altra de les àncores:
    Patró Descripció Resultats
    b$v$v$c$ Cerca mots que acaben en b + dues vocals + consonant (71 resultats). adverbial, capbuit, improbiós, rubiol, etc.
    ^b$v$v$c Cerca mots que comencen en b + dues vocals + consonant (228 resultats). bauxítica, biogràfica, boixet, buidor, etc.
    b$v$v$c Cerca mots que contenen una b + dues vocals + consonant (511 resultats). abaixar, biològic, gambaire, tabuístic, etc.

Principi | Diccionari Regex



Comodins i classes de caràcters

Els COMODINS (caràcters que substituiexen altres caràcters o grups de caràcters) són "\w" i ".". El primer representa qualsevol lletra o dígit, mentre que el punt representa tot caràcter, incloent-hi el guionet i el punt volat.

  1. Es poden cercar totes les paraules de onze lletres, sense guionet ni punt volat, amb el patró ^\w\w\w\w\w\w\w\w\w\w\w$ (ex.: abandonisme); amb el patró ^...........$, el guionet i el punt volat també compten com a "lletres" (exs.: abstenir-se i al·legòrica). (Afortunadament, com veurem en la secció Quantificadors, hi ha una manera molt més fàcil de definir aquestes cerques.) Més exemples:
    Patró Descripció Resultats
    ^c\w\w\w\w\w\w\w\w$ Cerca paraules amb nou lletres (sense guionet ni punt volat) que comencen en c (1299 ocurrències). cabassada, cercavila, clatellot, cuticular, etc.
    ^c........$ Cerca paraules amb nou caràcters (incloent el guionet i punt volat) que comencen en c (1359 ocurrències). calamarsa, cama-roig, capil·lar, companyia, etc.

Es denoten les CLASSES DE CARÀCTERS amb els claudàtors ("[]"), que ens permeten seleccionar grups de caràcters. Per exemple, la classe "[aàeéè]" coincideix amb a o à o e o é o è. Observem que els caràcters especials esmentats en la Introducció, $v and $c, són comodins més convenients per a les classes següents:
$v = [aàeéèiíoóòuú]
$c = [bcçdfghjklmnpqrstvwxyz].

  1. Heus aquí tres exemples de l'ús de classes de caràcters:
    Patró Descripció Resultats
    ^[bcr]$vt$ Cerca mots que comencen amb b o c o r seguida de vocal i que terminen en t (8 ocurrències). bit, cat, rot, etc.
    [gst]ió$ Cerca mots que acaben en gió, sió o tió (268 ocurrències). contagió, desaprensió, exhaustió, etc.
    ^....[gst]ió$ Cerca mots que comencen en quatre caràcters (incloent-hi el guionet i el punt volat) seguits de g o s o t i que terminen en (34 ocurrències). religió, llantió, incisió, qüestió, etc.

  2. Dins els claudàtors d'una classe de caràcters, el guionet (-) és especial: especifica una extensió o un abast d'una lletra a l'altra. Així el patró [a-j] representa les primeres 10 lletres de l'alfabet. Es pot incloure a la classe el guionet posant-lo primer o últim. Per exemple, el patró [-·l-n] oferirà tots els mots que contenen un guionet, un punt volat o les lletres l, m o n (més de 1500). Més exemples:
    Patró Descripció Resultats
    ^[j-n]$v[j-n]$ Cerca qualsevol mot que comença en j, k, l, m o n seguida d'una vocal i que termina en j, k, l, m o n (18 ocurrències). jan, mel, món, nul, etc.
    [-c][-i] Cerca qualsevol mot que conté dos guionets consecutius (no n'hi haurà cap) o -i o c- o ci (més de 1500 ocurrències). caps-i-puntes, catric-catrac, circumval·lació, etc.

  3. Si es vol la negació d'una classe de caràcters —és a dir, si es volen cercar paraules que no tenen segons quines lletres—, s'afegeix el caràcter ^ just després del primer claudàtor. Exemple:
    Patró Descripció Resultats
    g[^aeiou]\w[g-l]$ Cerca mots que contenen una g seguida de qualsevol lletra excepte a, e, i, o o u, seguida de qualsevol lletra (o dígit) i que terminen en g, h, i, j, k o l (7 ocurrències). esglai, glei, grog, integral, etc.

    Nota: Recordem que el caràcter "^" té dos sentits especials: Al principi del patró vol dir "El mot ha de començar amb el caràcter següent", mentre que al principi d'una classe de caràcters (just després del primer claudàtor) invalida tots els caràcters dins els claudàtors.

Principi | Diccionari Regex



Alternatives: Coincidir amb això o allò

El caràcter "|" ens permet cercar dues o més alternatives. Exemples:

Patró Descripció Resultats
orella|colze Cerca qualsevol mot que conté les lletres consecutives orella o colze (21 ocurrències). colze, esvorellar, orella, recolze, etc.
orella|colze|genoll Cerca qualsevol mot que conté les lletres consecutives orella o colze o genoll (30 ocurrències). agenollar-se, colzera, sorella, etc.

Principi | Diccionari Regex



Agrupacions

Es poden agrupar les alternatives amb parèntesis.

  1. Heus aquí uns quants exemples de l'ús de parèntesis:
    Patró Descripció Resultats
    (ull|mà)$ Cerca paraules que terminen en ull o (72 ocurrències). aldarull, contra, orgull, talis, etc.
    $c(g|q)ü Cerca paraules que contenen una consonant seguida de o (55 ocurrències). bilingüisme, inqüestionable, pasqüeta, etc.
    [^$vn](g|q)ü Cerca paraules que contenen o no precidides d'una vocal ni de la n (10 ocurrències). argüible, esgüell, pasqüetes, etc.
    p(enne|innat)$ Cerca paraules que terminen en penne o pinnat (7 ocurrències). bipenne, imparipinnat, tripinnat, etc.

  2. Observem que es poden cercar alternatives entre alternatives:
    Patró Descripció Resultats
    t(ià|en(c|t))$ Cerca qualsevol mot que termina en tià, tenc o tent (69 ocurrències). cristià, costenc, persistent, etc.
    ^((p|q)$v$v(r|t|s))$ Cerca qualsevol mot que comença amb p o q, seguida de dues vocals, i que termina en r, t o s (6 ocurrències). pair, paor, país, puat, etc.

Principi | Diccionari Regex



Quantificadors

Els caràcters ?, *, +, i {} ens permeten especificar quantes vegades un caràcter o grup de caràcters poden ser repetits:

Patró Descripció
a? Coincidir amb la a 1 o 0 vegades.
a+ Coincidir amb la a 1 vegada o més (com a mínim una vegada).
a* Coincidir amb la a 0 vegades o més (qualsevol nombre de vegades).
a{n,m} Coincidir amb la a com a mínim n vegades, però com a màxim m vegades.
a{n,} Coincidir amb la a n vegades o més.
a{n} Coincidir amb la a exactament n vegades.

Heus aquí uns quants exemples de l'ús dels quantificadors:

Patró Descripció Resultats
^$ca$v?$c$ Cerca qualsevol mot que comença en "consonant + a" o "consonant + a + vocal" i que termina en una consonant (102 ocurrències). baf, fax, baix, caos, gaús, naip, saur, etc.
^$c$v+$c$ Cerca qualsevol mot que comença en consonant, seguida d'una o més vocals i que termina en una consonant (470 ocurrències). bar, biaix, boal, etc.
^$c$v{3}$c$ Cerca qualsevol mot que comença en "consonant + tres vocals" i que termina en una consonant (37 ocurrències). cauet, guaix, piuar, quiet, etc.
$v{4}$ Cerca qualsevol mot que conté quatre vocals consecutives (21 ocurrències). estiueig, ouaire, xiuxiueig, etc.
^ac*$v Cerca qualsevol mot que comença en "a + vocal", "ac + vocal" o "acc + vocal" (1101 ocurrències). ai-ai, acabat, accepció, etc.
\w{20,} Cerca mots amb 20 o més lletres (30 ocurrències). desproporcionadament, inconstitucionalitat, magnetohidrodinàmica, etc.

Principi | Diccionari Regex



«Backreferences»: Coincidir amb les coincidències anteriors (Captures)

Els parèntesis (vegeu Agrupaments) també ens permeten l'extracció de les parts d'un patró que anteriorment han coincidit. El caràcter "\1" capturarà allò que s'ha coincidit entre els primers parèntesis del grup. Això potser s'entèn millor amb uns exemples senzills.

  1. Exemples de l'ús de «backreferences» per a capturar coincidències:
    Patró Descripció Resultats
    $c(\w)\1 Cerca mots que contenen una consonant seguida de qualsevol altra lletra repetida dos cops (623 ocurrències). besllum, centreesquerra, sangglaçar-se, etc.
    $c($c)\1 Cerca mots que contenen una consonant seguida de qualsevol altra consonant repetida dos cops (360 ocurrències). ametlla, cinccentista, posttònica, òhmmetre, sotssecretari, etc.
    ([aiu])\1 Cerca mots que contenen aa, ii o uu (52 ocurrències). afrikaans, antiinflamatori, duumvir, novii, nuu, etc.
    ^$v([mn])\1 Cerca mots que comencen en vocal més mm o nn (350 ocurrències). ammina, annex, emmalaltir, ennuvolar-se, immensa, innocència, unnilpenti, etc.
    ^(\w+)-?\1$ Cerca mots que comencen i acaben amb el mateix grup de lletres; pot haver-hi o no un guionet entre els grups (68 ocurrències). adorador, cloc-cloc, dardar, ning-ning, papa, poti-poti, retret, xano-xano, etc.

  2. De la mateixa manera que el caràcter \1 capturarà la coincidència de els primers parèntesis, \2 capturarà la segona, \3 capturarà la tercera, etc. Exemples:
    Patró Descripció Resultats
    ^($c$c)($v)\2 Cerca qualsevol mot que comença en dues consonants seguides de la mateixa vocal repetida dos cops (\2 captura la vocal) (19 ocurrències). bloom, creença, preescolar, etc.
    ^($c$c)($v)\1 Cerca qualsevol mot que comença en dues consonants seguides d'una vocal més les mateixes dues consonants del comencament del mot (\1 captura les dues consonants) (12 ocurrències). grogrèn, nyanyo, propretor, txetxè, etc.
    ($c$v$v)\1 Cerca qualsevol mot que conté la seqüència "consonant-vocal-vocal" seguida de la mateixa seqüència (9 ocurrències). quequeig, quiquiriquic, xiuxiuar, etc.
    ($c$v$v).*\1 El mateix que l'anterior però les dues seqüències no han de ser consecutives, és a dir, qualsevol altre caràcter o caràcters poden intervenir (27 ocurrències). coixim-coixam, geriatria, quebequesa, socialdemocràcia, etc.
    ($c)($v)\2\1 Cerca mots que contenen el grup consonant + vocal seguit de la mateixa vocal més la mateixa consonant (4 ocurrències). microordinador, microorganisme, reerecció i reerigir.
    (\w)\1.*(\w)\2.*(\w)\3 El mateix que l'anterior però les tres lletres doblades no han de ser consecutives (9 ocurrències). arramassall, contraalmirallessa, esllavissadissa, etc.
    ^(\w)(\w)\w?\2\1$ Cerca mots que s'escriuen igual endavant o endarrere (palíndroms) (16 ocurrències). aimia, caiac, rasar, refer, tovot, etc.

Principi | Diccionari Regex


Filtrar els resultats

A la pàgina principal del Diccionari Regex, a sota del camp anomenat Cadena, hi ha un camp que s'anomena Filtre. Aquest camp funciona amb les mateixes expressions regulars que el de Cadena, però amb un efecte oposat: Qualsevol mot que coincideix amb el patró del camp Filtre serà suprimit de la llista dels resultats. Heus aquí uns exemples senzills:
Patró Descripció
[·-] Suprimir dels resultats mots que contenen un guionet o un punt volat.
\w{7} Suprimir dels resultats mots que tenen 7 lletres o més.
^\w{1,7}$ Suprimir dels resultats mots que tenen 7 lletres o menys.
ment$ Suprimir dels resultats mots que terminen en ment.
^p?re Suprimir dels resultats mots que comencen en pre o re.

Més exemples:
Patró Filtre Descripció Resultats
($c)\1$ ll$ Cerca mots que terminen en una consonant doblada però que no terminen en ll (9 ocurrències). edelweiss, jazz, torr, watt, etc.
(en blanc) $c Cerca tots els mots que no contenen cap consonant (25 ocurrències). a, eia, eu-, io-io, ui, etc.

Principi | Diccionari Regex


visca.com | Diccionari Regex

Correu