Linuxin komentorivin hallinta · Oppitunti

Säännöllisten lausekkeiden hallinta (Regex)

Ymmärtäkää säännöllisten lausekkeiden syntaksi ja tehokkuus edistyneessä hahmonsovituksessa.

Oppitunti 1/411 vaihetta

Säännöllisten lausekkeiden hallinta (Regex) on ilmainen Linuxin komentorivin hallinta-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Linuxin komentorivin hallinta-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Linuxin komentorivin hallinta-kurssilla on yhteensä 4 oppituntia.

Säännöllisten lausekkeiden perusteet

Tervetuloa säännöllisten lausekkeiden (Regex) pariin! Regex on tehokas minikieli, jota käytetään tekstin hahmojen täsmäyttämiseen. Se on kuin tehostettu hakutyökalu.

Regexillä voitte etsiä, korvata ja tarkistaa tiettyjä tekstikuvioita tiedostoista tai komentojen tulosteista. Sen hallitseminen tehostaa työskentelyänne komentorivillä huomattavasti!

Täsmällisen tekstin täsmäyttäminen

Yksinkertaisin Regex täsmäyttää kirjaimelliset merkit. Tämä tarkoittaa, että kuvio etsii täsmälleen antamaanne merkkijonoa.

Esimerkiksi apple-haku löytää vain esiintymät, joissa lukee "apple".

echo "I have an apple and a pineapple." | grep 'apple'

Mikä tahansa yksittäinen merkki: piste (.)

Piste (.) on erikoismerkki, jota kutsutaan metamerkiksi. Se täsmäyttää minkä tahansa yksittäisen merkin, rivinvaihtoa lukuun ottamatta. Käyttäkää sitä, kun tietyn kohdan merkillä ei ole väliä.

echo "cat, cot, cut, c@t" | grep 'c.t'

Toistojen täsmäyttäminen: kvantifioijat

Kvantifioijilla voitte määrittää, kuinka monta kertaa merkin tai ryhmän tulee esiintyä. Ne ovat tehokkaita joustavassa täsmäytyksessä:

  • *: täsmäyttää nolla tai useampia esiintymiä.
  • +: täsmäyttää yhden tai useampia esiintymiä.
  • ?: täsmäyttää nolla tai yhden esiintymän (tekee esiintymisestä valinnaisen).
echo "color colour coor" | grep 'colou*r'

Tietyt vaihtoehdot: merkkiluokat

Käyttäkää hakasulkeita ([]) täsmäyttääksenne minkä tahansa yhden merkin määritetystä joukosta. Näin määritätte tietyn kohdan sallitut vaihtoehdot.

Esimerkiksi [aeiou] täsmäyttää minkä tahansa yksittäisen vokaalin.

echo "grey gray" | grep 'gr[ae]y'

Alueiden määrittäminen luokissa

Merkkiluokkien sisällä voitte määrittää merkkialueita yhdysmerkin (-) avulla. Tämä tekee kuvioista paljon lyhyempiä ja helpompia lukea.

  • [0-9]: täsmäyttää minkä tahansa numeron.
  • [a-z]: täsmäyttää minkä tahansa pienaakkosen.
  • [A-Z]: täsmäyttää minkä tahansa suuraakkosen.
  • [a-zA-Z]: täsmäyttää minkä tahansa kirjaimen kirjainkoosta riippumatta.
echo "num1 num2 numA" | grep 'num[0-9]'

Merkkien poissulkeminen: negaatio

Täsmäyttääksenne minkä tahansa merkin, joka EI kuulu määritettyyn joukkoon, sijoittakaa sirkumfleksi (^) hakasulkeiden ([^...]) sisäpuolelle ensimmäiseksi merkiksi.

echo "apple, banana, 123, !@#" | grep '[^a-z]'

Alku ja loppu: ankkurit

Ankkurit eivät täsmäytä merkkejä, vaan sijainteja. Ne "ankkuroivat" kuvion rivin alkuun tai loppuun.

  • ^: täsmäyttää rivin alun.
  • $: täsmäyttää rivin lopun.

Huomautus: Kun ^ on []-merkkiluokan ulkopuolella, se on ankkuri eikä negaatio!

echo -e "start here\n here end\nstart and end" | grep '^start'

Kaiken yhdistäminen

Yhdistetään joitakin näistä käsitteistä. Kuvitelkaa, että haluatte löytää rivit, jotka alkavat isolla kirjaimella, jatkuvat millä tahansa määrällä pieniä kirjaimia ja päättyvät numeroon.

echo -e "Hello1\nworld2\nAnotherTest3" | grep '^[A-Z][a-z]*[0-9]$'

Regex-haaste

Tarkastelkaa seuraavaa tekstiä:

apple apples apply app Apple

Mikä säännöllinen lauseke täsmäyttäisi "apple"- ja "apples"-merkkijonot, mutta EI "apply"-, "app"- tai "Apple"-merkkijonoa?

Kertaus: Regexin perusteet

Tässä oppitunnissa otitte ensimmäiset askeleenne säännöllisten lausekkeiden tehokkaaseen maailmaan! Käsittelimme seuraavat aiheet:

  • Kirjaimellinen täsmäytys täsmällistä tekstiä varten.
  • .-metamerkki minkä tahansa yksittäisen merkin täsmäyttämiseen.
  • Kvantifioijat (*, +, ?) toistoa varten.
  • Merkkiluokat ([]) ja alueet ([a-z]) tiettyjä joukkoja varten.
  • Negaation ([^]) merkkien poissulkemiseen.
  • Ankkurit (^, $) rivien alkuun ja loppuun.

Nämä ovat kehittyneiden tekstikuvioiden rakentamisen peruspalikoita. Jatkakaa harjoittelua!

Aloita maksutta

Opi Linuxin komentorivin hallinta tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Säännöllisten lausekkeiden hallinta (Regex)” ilmainen?

Kyllä – oppitunnin ”Säännöllisten lausekkeiden hallinta (Regex)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Linuxin komentorivin hallinta-kurssin, päivitä CoddyKit PROhon. Linuxin komentorivin hallinta-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Säännöllisten lausekkeiden hallinta (Regex)”?

Ymmärtäkää säännöllisten lausekkeiden syntaksi ja tehokkuus edistyneessä hahmonsovituksessa. Harjoittelet Linuxin komentorivin hallinta-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Linuxin komentorivin hallinta-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Linuxin komentorivin hallinta-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Säännöllisten lausekkeiden hallinta (Regex)”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Linuxin komentorivin hallinta-oppitunnilla?

Kyllä. Jokainen Linuxin komentorivin hallinta-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Säännöllisten lausekkeiden hallinta (Regex)
  2. Edistyneet `grep`- ja `find`-hahmot
  3. `xargs` komentojen ketjuttamiseen
  4. Streamien muokkaus laajassa mittakaavassa komennoilla sed ja tr
← Takaisin: Linuxin komentorivin hallinta