Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
WEB (HTML, CSS, PHP)

Hitri tečaj RegEx v PHPStorm: Kako z rednimi izrazi bliskovito očistiti in posodobiti kodo

Sodobni razvijalci se vsak dan znajdejo v situaciji, ko morajo spremeniti kodo v stotinah ali celo tisočih datotek. Ročno urejanje bi trajalo dneve – s pravimi orodji pa le nekaj sekund.

V tem članku se bralec seznani z regularnimi izrazi (Regex), ki so pravzaprav “iskanje in zamenjava” na steroidih. Vodnik temelji na praksi v PHPStorm-u, vendar enako velja za VS Code in druge urejevalnike.

1. Kaj so regularni izrazi?

Regularni izrazi (ang. Regular Expressions, krajšano Regex) so vzorci, ki omogočajo iskanje, ujemanje in spreminjanje besedila po določenih pravilih.

Namesto iskanja točno določene besede razvijalec Regex-u poda vzorec. To je podobno, kot če bi iskali vse hiše z rdečo streho namesto ene konkretne hiše.

2. Kako vključiti Regex v PHPStorm-u

Ob ukazu Ctrl + R (Replace) ali Ctrl + Shift + R (Replace in Path) mora uporabnik obvezno označiti ikono .* — ta aktivira Regex način.

Pomembno: Pred uporabo Replace All naj uporabnik vedno naredi Git commit ali kopijo projekta. Regex je močno orodje – ena napaka lahko spremeni kodo tako, da je nihče ne bo znal popraviti.

3. Primer 1: Najdi vse tabele s številkami

Uporabnik želi najti vse razrede za tabele, ki se končajo s številko (tabela-1, tabela-2, tabela-3 ...).

Išči: tabela-\d+

Kaj to pomeni?

  • \d+ pomeni “katerakoli številka, ki se ponovi enkrat ali večkrat”.
  • Rezultat: PHPStorm označi vse tabele od 1 do 999.

4. Primer 2: Čiščenje HTML oznak

Uporabnik želi očistiti HTML oznake, vendar obdržati vsebino. Recimo, da želi izbrisati vse <span> oznake, ki delajo zmešnjavo.

Išči: <span>(.*?)</span>
Zamenjaj z: $1

Kaj to pomeni?

  • $1 pove PHPStorm-u: “Odstrani span, vsebino pa pusti pri miru.”
  • (.*?) ujame vse, kar je med oznakama (ne-požrešno ujemanje).

5. Primer 3: Dodaj razred na h3 elemente

Uporabnik želi najti vse <h3> oznake brez razreda in jim dodati nov razred.

Išči: <h3>
Zamenjaj z: <h3 class="tvoj-nov-razred">

6. Bazične sekvence Regex-a

Simbol Opis Primer
\d katerakoli številka 0–9
\w črka ali številka A–Z, a–z, 0–9
. katerikoli znak presledek, črka, simbol
\s presledek presledek, tabulator, nova vrstica
(.*?) ujemi vse med oznakami vsebina med oklepaji
\d+ ena ali več številk 1, 27, 1000 ...

7. Real-world uporaba

Regex je pogosto rešilna bilka. Predstavljati si je treba, da je v 3000 datotekah narobe napisan PHP include ali pa je treba vsem slikam dodati atribut loading="lazy". Ročno delo bi trajalo mesece. Z Regexom pa:

  1. Uporabnik vpiše vzorec.
  2. PHPStorm pokaže predogled.
  3. Replace All posodobi vseh 3000 datotek v nekaj sekundah.

8. Verifikacija e-pošte in telefonskih številk

Regex se pogosto uporablja za preverjanje pravilnih formatov:

  • E-pošta: Ali niz vsebuje @ in piko na pravem mestu?
  • Telefonske številke: Ali niz vsebuje 3 številke, vezaj in nato še 6 številk?
  • Clean code: Iskanje vseh <iframe> oznak brez atributa width.

Povzetek

Koncept Opis Vrednost
Vklop Regex Ikona .* v PHPStorm iskalniku Osnova za napredne operacije
\d+ Številka ali več številk Najde vse numerične vrednosti
(.*?) Ujame vsebino med oznakami Ohrani podatke pri čiščenju HTML
$1 Referenca na prvo ujeto skupino Ohrani ujeto vsebino ob zamenjavi
Backup pred Replace All Git commit ali kopija mape Zaščita pred nepopravljivimi napakami

Z obvladovanjem Regex-a bralec prihrani ure dela in postane bistveno bolj produktiven razvijalec.

back Nazaj na blog