Kirjautuminen

Haku

Tehtävät

Putkaposti: Käänteislauseke

Kirjoittaja: Antti Laaksonen

Tarkastellaan merkkijonoja, jotka muodostuvat kirjaimista AZ. Seuraava säännöllinen lauseke hyväksyy kaikki merkkijonot, jotka sisältävät sanan KORONKORKO.

[A-Z]*KORONKORKO[A-Z]*

Ensin merkkijonossa saa siis olla vapaasti mitä tahansa kirjaimia, sitten jossain vaiheessa täytyy tulla haluttu KORONKORKO ja lopuksi saa taas olla vapaasti mitä tahansa kirjaimia.

Säännöllinen lauseke hyväksyy mm. merkkijonot ABCKORONKORKOABC, KORONKORONKORKORKO ja KORONKORKORONKORKO. Vastaavasti säännöllinen lauseke hylkää mm. merkkijonot PUTKAPOSTI, KORONKORKKI ja KORONABCKORKO.

Tehtävä

Suunnittele uusi säännöllinen lauseke, joka toimii juuri päinvastoin. Sen täytyy hyväksyä kaikki merkkijonot, joissa ei esiinny missään kohdassa sanaa KORONKORKO.

Voit käyttää säännöllisessä lausekkeessa seuraavia merkkejä: AZ (kirjaimet), [, ], - ja ^ (merkkiryhmä), ?, * ja + (merkkien toisto), | (vaihtoehto) sekä ( ja ) (ryhmitys).

Mitä lyhyemmän säännöllisen lausekkeen onnistut muodostamaan, sen parempi!

Vastausohje

Kirjoita vastaukseen säännöllinen lauseke, joka hyväksyy kaikki merkkijonot, jotka eivät sisällä sanaa KORONKORKO.

Vastaus voisi näyttää seuraavalta:

[^K]*

Tämä säännöllinen lauseke hyväksyy kaikki merkkijonot, joissa ei ole K-kirjainta. Se ei kyllä vahingossa hyväksy yhtään merkkijonoa, jossa esiintyisi sana KORONKORKO, mutta toisaalta se myös hylkää monta kelvollista merkkijonoa, mm. merkkijonon KORONKORKKI.

Vastaukset

13 henkilöllä on tulos. Suluissa oleva luku tarkoittaa säännöllisen lausekkeen pituutta.

jlaire (117), Metabolix (120), Jhuunhym (142), FooBat (186), öppis (195), membolic (202), Jaska (204), isashkar (204), Sisuaski (208), lukujenVihaaja (209), zebraze (212), Legu (215), os (221)

Kirjaudu sisään Ohjelmointiputkaan, niin voit lähettää vastauksen tehtävään.

Keskustelu

Katso myös Putkaposti 29: Käänteislauseke.

Tietoa sivustosta