Regula esprimo (angle regular expression aŭ mallonge regexp) en komputado estas signoĉeno, kiu kongruas kun serio da signoĉ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
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