Apendico A. Regulaj Esprimoj

Anders Lund

Translation: Oliver Kellogg
Ĉi tiu Apendico enhavas mallongan sed espereble sufiĉan kaj
kovrantan enkondukon al la mondo de regulaj
esprimoj. Ĝi dokumentas regulajn esprimojn en la formo
havebla ene de KatePart, kiu ne kongruas kun la regulaj
esprimoj de perl, nek kun tiuj de ekzemple
grep.

Enkonduko

Regulaj Esprimoj provizas al ni manieron priskribi iujn eblajn enhavojn de teksta ĉeno en maniero komprenita de malgranda programaro, por ke ĝi povu esplori ĉu teksto kongruas, kaj ankaŭ en la kazo de altnivelaj aplikoj kun la rimedoj por konservi pecojn aŭ la kongruan tekston.

Ekzemplo: Diru, ke vi volas serĉi tekston por alineoj, kiuj komenciĝas per iu el la nomoj HenrikPernille sekvata de iu formo de la verbo diri.

Kun normala serĉo, vi komencus serĉi la antaŭnomon, Henrik eble sekvata de dir tiel: Henrik dir, kaj dum serĉado por kongruoj, vi devus forĵeti tiujn, kiuj ne estas la komenco de alineo, same kiel tiujn, en kiuj la vorto komencanta per la literoj dir ne estis aŭ diras, diris aŭ tiel. Kaj poste kompreneble ripetu ĉion tion kun la sekva nomo...

Kun Regulaj Esprimoj, tiu tasko povus esti plenumita per ununura serĉo, kaj kun pli granda grado da precizeco.

Por atingi ĉi tion, Regulaj Esprimoj difinas regulojn por esprimi en detaloj ĝeneraligo de ĉeno kongrua. Nia ekzemplo, kiun ni laŭvorte esprimus tiel: Linio komencanta per aŭ HenrikPernille (eble sekvante ĝis 4 malplenajn aŭ tabulajn signojn) sekvata de Blanka spaco sekvata de dir kaj tiam aŭ asis povus esti esprimita per la sekva regula esprimo:

^[ \t]{0,4}(Henrik|Pernille) dir(as|is)

La supra ekzemplo montras ĉiujn kvar ĉefajn konceptojn de modernaj Regulaj Esprimoj, nome:

  • Ŝablonoj

  • Asertoj

  • Kvantigiloj

  • Retroreferencoj

La kamero (^) komencanta la esprimon estas aserto, estante vera nur se la sekva kongrua ĉeno estas ĉe la komenco de linio.

La ĉenoj [ \t] kaj (Henrik|Pernille) dir(as|is) estas ŝablonoj. La unua estas signa klaso kiu kongruas aŭ kun malplena aŭ (horizontala) tabula signo; la alia ŝablono enhavas unue subŝablon kongruantan aŭ Henrik Pernille, poste pecon kongruantan kun la ĝusta ĉeno dir kaj fine subŝablono kongruanta aŭ as is

La ĉeno {0,4} estas kvantigilo diranta ie ajn de 0 ĝis 4 el la antaŭa.

Ĉar regulesprima programaro subtenanta la koncepton de retroreferencoj ŝparas la tutan kongruan parton de la ĉeno kaj ankaŭ sub-ŝablonojn enfermitajn inter krampoj, donitaj iujn rimedojn por aliro al tiuj referencoj, ni povus meti niajn manojn aŭ al la tuta kongruo (serĉante tekstdokumenton en redaktilo kun regula esprimo, kiu estas ofte markita kiel elektita) aŭ aŭ la trovita nomo, aŭ al la lasta parto de la verbo.

Tute kune, la esprimo kongruos kie ni volis ĝin, kaj nur tie.

La sekvaj sekcioj priskribos detale kiel konstrui kaj uzi ŝablonojn, signojn klasojn, asertojn, kvantigilojn kaj retroreferencojn, kaj la fina sekcio donos kelkajn utilajn ekzemplojn.