(@chars) = ($inline =~ m/([\x01-\x7f]|
[\xc0-\xdf][\x80-\xbf]| [\xe0-\xef][\x80-\xbf][\x80-\xbf])/xg);
miten tämän voi ymmärtää esim Javassa tai yleensä?
Mitä tämä array tarkoittaa???
2
1923
Vastaukset
- Piru
eti toi jostain per apusivuilta
Ilmeisesti korvataan saaduista merkeistä tietyin säännöin osa toisilla merkeillä - Mik
m/ on pelkkä match-operaatio säännölliselle lausekkeelle, se ei korvaa mitään. match tehdään muuttujalle $inline. xg lopussa tarkoittaa (copypaste man perlre:stä): x=Extend your pattern's legibility by permitting whitespace and comments., ja g on global, eli matchia ei lopeteta heti ensimmäisen "osuman" jälkeen. []:n sisällä olevat merkit matchaa (en keksi sopivaa suomenkielistä sanaa) mihin tahansa luetelluun merkkiin. \xAB tarkoittaa heksanumeroa AB. [\x01-\x7f] sopii siis mihin tahansa merkkiin, jonka arvo on tuolta väliltä. | tarkoittaa vaihtoehtoa.
[\x01-\x7f]|[\xc0-\xdf][\x80-\xbf] jne. tarkoittaa siis "yksi merkki väliltä 0x01-0x7f tai kaksi peräkkäistä merkkiä joista ensimmäinen on väliltä 0xc0-0xdf ja toinen on väliltä .. tai ..". Tätä toistetaan niin kauan, kunnes koko merkkijono ollaan kelattu läpi (lopussa olevan g:n takia). Matchanneet merkkijonot laitetaan taulukkoon chars.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225124- 254278
- 272441
- 342234
- 371988
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164