RegEx Wildcards.pdf

3
Mali tutorijal o RegEx RegEx sintaksa Element Značenje Primjer Traži Nađeno x znak a a \t tabulator . Bilo koji znak uključujići novi red \d znamenka \D Znak koj nije znamenka \s razmak \S znak koji nije razmak \w slovo ili znamenka (alfanumerimeri čki znakovi) \W Znakovi koji nisu alfanumerimeri čki \ Omogučava traženje posebnih znakova a\sc a c | Okomita crta razdvaja alternative abc|def|xyz abc, def  i xyz {...} Eksplicitno količninski zapis ab{2}c abbc […] Skup znakova a[bB]c abc, aBc [] omogućuje specifikaciju susjednih znakova rasponima [ad] a, b,c ili d [^] Negira niz [^ad] Bilo koji znak osim a, b,c ili d (...) Služi za grupiranje (grupama u replace pristupamo sa \1 za prvu zagradu,  \2 za drugu itd.) (abc)(def) Za \1\2 dobivamo abcdef  * 0 ili više od prethodnog izraza ab*c ac, abc, abbc, abbbc, ... + Jedna ili više prethodnih izraza ab+c abc, abbc, abbbc, ... 

Transcript of RegEx Wildcards.pdf

7/23/2019 RegEx Wildcards.pdf

http://slidepdf.com/reader/full/regex-wildcardspdf 1/3

Mali tutorijal o RegEx 

RegEx sintaksaElement  Značenje  Primjer 

Traži  Nađeno 

x  znak  a  a 

\t  tabulator 

.  Bilo koji znak uključujići  novi red 

\d  znamenka 

\D  Znak koj nije znamenka 

\s  razmak 

\S  znak koji  nije razmak 

\w  slovo ili znamenka 

(alfanumerimerički znakovi) 

\W  Znakovi koji nisu alfanumerimerički 

\  Omogučava traženje posebnih 

znakova 

a\sc a c 

|  Okomita crta razdvaja alternative  abc|def|xyz abc, def   i xyz 

{...}  Eksplicitno količninski zapis  ab{2}c  abbc 

[…]  Skup znakova  a[bB]c  abc, aBc 

[‐]  omogućuje specifikaciju susjednih 

znakova rasponima 

[a‐d]  a, b,c ili d 

[^]  Negira niz  [^a‐d]  Bilo koji znak osim a, 

b,c ili d 

(...)  Služi za grupiranje (grupama u 

replace pristupamo sa \1 za prvu 

zagradu, \2 za drugu itd.) 

(abc)‐(def)  Za \1\2 dobivamo 

abcdef  

*  0 ili više od prethodnog izraza  ab*c  ac, abc, abbc, abbbc, ... 

+  Jedna ili više prethodnih izraza  ab+c  abc, abbc, abbbc, ... 

7/23/2019 RegEx Wildcards.pdf

http://slidepdf.com/reader/full/regex-wildcardspdf 2/3

 

RegEx nam služi za pretragu i manipulaciju teksta ovisno o nekim uzorcima( patterns). 

Znači cilj  je da pomoču regexa na  što brži način sredimo tekst.  Najprije bi trebali odrediti tekst 

(string) kojima želimo manipulirati i onda ga prebaciti u uzorak  ili   pattern.Da bi smo to postigli 

trebamo znati osnovnu sintaksu regexa(nalazi se u tablici) ili prekopirati od drugih. 

Da ne duljim, naprimjer u tekstu želimo ispraviti nepotrebne crtice(‐) između riječi. Da stvar bude 

gora uočili smo da iza crtice nekada zna biti razmak(nekad i više). I sada da nebismo pješke tražili te 

crtice složimo  pattern: 

Find: ([a‐z|č|ć|ž|š|đ|dž])‐\s*([a‐z|č|ć|ž|š|đ|dž]) 

Replace: \1\2

E ovdije bi se neko mogao olakomitii otiči na Replace all ne misleći na fraze tipa danas-sutragore-dolje, sekundu-dvije i još mnogo takvih primjera obrisati crtice tamo i gdje ne želimo.

Znači oprezno sa Replace all!

Kod slaganja patterna bitno je iskustvo i prepoznavanje čestih grešaka u tekstovima. Jazasada imam malu listu koju sam postavio u tablicu i koju konstantno obnavljam.

Često korišteni izrazi Find  Replace  Replace All  Komentar 

</p>\s+<p>([a-z|č|ć|ž|š|đ|dž]) ne Paragraf koji počinjemalim slovom

([0-9|a-z|č|ć|ž|š|đ|dž|-|-\s+|;|;\s+|:|:\s+|,\s+|,|])</p>\s+<p>([0-9|A-Z|Č|Ć|Ž|Š| Đ|Dž|a-

z|č|ć|ž|š|

đ|dž|„])

Krivo rezani paragraf 

([a-z|č|ć|ž|š|đ|dž])-\s*([a-z|č|ć|ž|š|đ|dž])

\1\2 ne Višak crtica (-) sa ili bezrazmaka iza crtice

([a-z|č|ć|ž|š|đ|dž])\s*-([a-z|č|ć|ž|š|đ|dž])

\1\2 ne Višak crtica (-) sa ili bezrazmaka ispred crtice

([a-z|č|ć|ž|š|đ|dž])¬([a-z|č|ć|ž|š|đ|dž])

\1\2 da Miče znak ¬ koj senalazi unutar riječi

Često greške u riječima 

Find  Replace  Replace All  Komentar 

(\s+mi)(je\s+) \1 \2 ne(\s+bi)(je\s+) \1 \2 ne(\s+da)(je\s+) \1 \2 ne(\s+ga)(je\s+) \1 \2 neSto(\s+) Što\1 ne

7/23/2019 RegEx Wildcards.pdf

http://slidepdf.com/reader/full/regex-wildcardspdf 3/3

Evo primjera kako se  ja koristim regex‐om u Sigilu. (ovo radim u Code View  s Regex  Dotall) Moj početak ovisi o načinu kako sam došao do teksta u Sigilu(jeli prepravljam tuđi epub, koji su puni smeča tipa class="normal3"),ili sam sam došao do teksta pa onda izbjegnem to smeče.) Zna

či ako

 prepravljam

 tu

đi epub,

 prvo

 kod

 očistim

 od

 sme

ča tipa

 

class="normal3" i ostalog

  što

 

dodaju Word, Calibre,Abbyy i ostali. To se najčešće riješi m  jednostavno da to (npr. 

class="normal3")prekopiram u find  – i pošto vidim da ovdje ima broj (znači da ima više tih normal 

klasa) promijenim u class="normal\d"(\d  u regex sintaksi označava bilo koju znamenku ) i replase all   s ničim. Tu pazitm kako  je u HTML označen italic i bold text,da ne ostanem bez istih. I tako 

prekopiravam dalje to smeć u find i rješavam ga se(budući da znam HTML i CSS znam  što brišem). 

Postupak traje dok ne očistim čitav tekst. 

Nakon toga knjigu provlačim kroz  patterne iz tablica da se riješim grešaka u samome tekstu. 

Onda sredim paragrafe, naslove poglavlja h1, h2, h3…Ovdje sve podesim da bude po mome 

stylu(css). Ja imam svoj standardni CSS stil i knjigu sređujem po njemu, znači određujem 

class="blablabla", naslovnu stranicu itd… 

Nadam se da nije previše komplicirano napisano i da sam vam pomogao.