Kas yra „Linux“ įprasti posakiai?
„Linux Regular Expressions“ yra specialieji simboliai, kurie padeda ieškoti duomenų ir suderinti sudėtingus modelius. Reguliarūs posakiai sutrumpinami kaip „regexp“ arba „regex“. Jie naudojami daugelyje „Linux“ programų, tokių kaip „grep“, „bash“, pervardyti, „sed“ ir kt.
Reguliariųjų posakių tipai
Kad būtų lengviau suprasti, išmoksime skirtingus „Regex“ tipus po vieną.
- Pagrindiniai reguliarūs posakiai
- Intervalas Reguliarūs posakiai
- Išplėstiniai reguliarūs posakiai
- Santrauka
Spustelėkite čia, jei vaizdo įrašas nepasiekiamas
Pagrindiniai reguliarūs posakiai
Kai kurios įprastos išraiškos dažniausiai naudojamos komandos yra tr, sed, vi ir grep. Žemiau yra keletas pagrindinių „Regex“.
Simbolis | Aprašymai |
---|---|
. | pakeičia bet kurį simbolį |
rungtynių eilutės pradžia | |
$ | atitinka eilutės pabaigą |
* | atitinka nulį ar daugiau kartų, palyginti su ankstesniu simboliu |
\ | Atstovauti specialiuosius simbolius |
() | Grupuoja įprastus posakius |
? | Atitinka tiksliai vieną simbolį |
Pažiūrėkime pavyzdį.
Vykdykite katės pavyzdį, kad pamatytumėte esamo failo turinį
Ieškokite turinio, kuriame yra raidė „a“.
' ^ ' atitinka eilutės pradžią. Ieškokime turinio, prasidedančio a
Filtruojamos tik eilutės, prasidedančios simboliu. Linijos, kurių pradžioje nėra simbolio „a“, nepaisomos.
Panagrinėkime kitą pavyzdį -
Naudodami $ pažymėkite tik tas eilutes, kurios baigiasi t
Intervalas Reguliarūs posakiai
Šie posakiai nurodo apie eilutės simbolio pasikartojimų skaičių. Jie yra
Išraiška | apibūdinimas |
---|---|
{n} |
Tiksliai sutampa su ankstesniu simboliu, rodomu „n“ kartus |
{n, m} | Atitinka ankstesnį simbolį, rodomą „n“ kartus, bet ne daugiau kaip m |
{n,} | Atitinka ankstesnį simbolį tik tada, kai jis rodomas „n“ ar daugiau kartų |
Pavyzdys:
Filtruokite visas eilutes, kuriose yra simbolis „p“
Norime patikrinti, ar simbolis „p“ eilutėje pasirodo lygiai 2 kartus. Tam sintaksė būtų:
cat sample | grep -E p\{2}
Pastaba: su šiais reguliariaisiais posakiais turite pridėti -E.
Išplėstiniai reguliarūs posakiai
Šiuose įprastuose posakiuose yra daugiau nei vienos išraiškos deriniai. Kai kurie iš jų yra:
Išraiška | apibūdinimas |
---|---|
\ + |
Atitinka vieną ar kelis ankstesnio simbolio atvejus |
\? |
Atitinka nulį arba vieną ankstesnio simbolio atvejį |
Pavyzdys:
Ieškoma visų simbolių „t“
Tarkime, kad mes norime filtruoti eilutes, kuriose simbolis „a“ yra prieš simbolį „t“
Mes galime naudoti komandą kaip
cat sample|grep "a\+t"
Breketų plėtimas
Petnešos išplėtimo sintaksė yra seka arba kableliais atskirtas elementų, esančių garbanotose petnešose, „{}“ sąrašas. Pradžios ir pabaigos eilės elementai yra atskirti dviem taškais „…“.
Keletas pavyzdžių:
Ankstesniuose pavyzdžiuose komanda echo sukuria eilutes naudodama petnešų išplėtimą.
Santrauka:
- Reguliarūs posakiai yra simbolių rinkinys, naudojamas tikrinant eilutes
- Jie taip pat vadinami „regexp“ ir „regex“
- Svarbu išmokti reguliarias scenarijų rašymo išraiškas
- Kai kurie pagrindiniai reguliarūs posakiai yra šie:
Simbolis | Aprašymai |
---|---|
. | pakeičia bet kurį simbolį |
rungtynių eilutės pradžia | |
$ | atitinka eilutės pabaigą |
- Kai kurie išplėstiniai reguliarūs posakiai yra šie:
Išraiška | apibūdinimas |
---|---|
\ + | Atitinka vieną ar kelis ankstesnio simbolio atvejus |
\? | Atitinka nulį arba vieną ankstesnio simbolio atvejį |
- Kai kurios intervalinės reguliariosios išraiškos yra:
Išraiška | apibūdinimas |
---|---|
{n} | Tiksliai sutampa su ankstesniu simboliu, rodomu „n“ kartus |
{n, m} | Atitinka ankstesnį simbolį, rodomą „n“ kartus, bet ne daugiau kaip m |
{n,} | Atitinka ankstesnį simbolį tik tada, kai jis rodomas „n“ ar daugiau kartų |
- Petnešų plėtimas naudojamas stygų generavimui. Tai padeda sukurti kelias eilutes iš vienos.