Regula esprimo

El Vikipedio, la libera enciklopedio
Saltu al: navigado, serĉo

Regula esprimo (aŭ pli ĝuste sed malpli ofte regulesprimo, mallonge regesp, ang. regexp) en komputiko estas ĉeno kiu kongruas kun serio da ĉenoj laŭ iuj sintaksaj reguloj. Regulaj esprimoj estas uzataj en multaj tekstoredaktiloj kaj utilas por serĉi kaj redakti pecon da teksto laŭ ia ŝablona rekono. Multaj programlingvoj komprenas regulesprimojn por ĉenredaktado. Ekzemple Perl kaj Tcl enhavas adapteblajn funkciojn enmetitajn en siajn sintaksojn. La serio da iloj (inkluzive de la redaktilo ed kaj la filtrilo grep) provizitaj de Unikso-distribuaĵoj estis la unuaj kiuj popularigis la koncepton de regulaj esprimoj.

Sintakso[redakti | redakti fonton]

Ordinare (sed ne ĉiam) iloj, kiuj komprenas regulesprimojn, postulas limsignojn (kutime oblikvojn). Deklivo estas t.n. eskapo; t.e. ĝi indikas, ke la sekva signo prezentas ion. Jen estas la komunaj signoj:

  • . ĉiu ajn signo
  • \. punkto
  • \w askia signo
  • \W neaskia signo
  • \d nombro
  • \D ne nombro
  • \s spaca signo (spaceto, tabo ktp)
  • \S ne spaca signo
  • * nul aŭ pli da okazoj
  • + unu aŭ pli da okazoj
  • () referencato
  • $x referencanto (x estas numero)
  • [] grupo
  • [^] inversa grupo
  • \\ deklivo
  • \/ oblikvo

Jen ekzemplo laŭ la programlingvo Perl:

$fonto = 'Hello';
$celo = $fonto;
$celo =~ s/[aeiou]/i/ig; # ig estas modifiloj
$celo =~ s/[^aeiou]+/b/ig;
$celo =~ s/\w$//ig;
print "$fonto => $celo\n";

Jen komunaj modifiloj:

  • g ĉiuj okazoj
  • i ignori usklecon
  • m plurlinia

Eksteraj ligiloj[redakti | redakti fonton]