Konkatenācijas un alternācijas

Last modified by superadmin on 2018-01-12 20:40

Konkatenācijas un alternācijas

  • murka - šie pieci burti pēc kārtas
  • [aeiou][aeiou] - divi patskaņi pēc kārtas
  • sss - divi burti "s", kuriem pa vidu ir viena atstarpe
  • ^a - burts "a" stringa sākumā
  • a$ - burts "a" stringa beigās

  • ba
    - buts "a" tieši aiz vārda robežas
  • a
    b
    - burts "a" tieši pirms vārda robežas
  • Konkatenācijās reizēm piedalās 2 īpaši "simboli" - enkuri, kuri norāda uz stringa sākumu un beigām. ^,$ sauc par sākuma un beigu enkuriem. Piemēram ^
    +371
    nozīmē to, ka vēlamies atrast simbolu virknīti "+371" nevis jebkurā vietā tekstā, bet tieši stringa sākumā.

    Ir vēl viens īpatnējs "simbols" - Vārda robeža, kuru apzīmē
    b
    ir tukša simbolu virkne, kura atbilst šādiem gadījumiem: stringa sākumam, stringa beigām, un visām vietām, kur kopa
    w
    pāriet par
    W
    vai atpakaļ.

    Alternācija ir izvēle starp divām simbolu virknēm. Piemēram, lop(s|a|am|u|ā) apzīmē ikvienu no 5 stringiem "lops", "lopa", "lopam", "lopu", "lopā". Aplūkojot alternāciju kā saskaitīšanu un konkatenāciju kā reizināšanu, var izveidot dažas "algebriskas" sakarības ar iekavu atvēršanu. Piemēram,

    (a|i|u)(a|i|u) ir tas pats, kas (aa|ai|au|ia|ii|iu|ua|ui|uu). Protams, praksē cenšas rakstīt to variantu, kurš ir visīsākais - t.i. ja jāatrod divi pēc kārtas sekojoši patskaņi "a", "i" un "u", tad raksta (a|i|u)(a|i|u) vai vēl īsāk - [aiu][aiu] vai pat [aiu]{2} (atkārtojuma simboli "{2}" utml. aplūkoti nākamajā nodaļā).

Tags:
Created by Kalvis Apsītis on 2008-05-03 11:24
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation