RegEX pomoč

disco

Fizikalc
21. jul 2007
1.102
0
36
A mi zna kdo svetovat kako bi uporabil regular expressions, da bi mi pobrisal iz datoteke vse razen določenega zaporedja npr.

Koda:
 X_X#X_X,

Torej da ostane samo

Koda:
 janez_kranjski#janez_kranjski,

janez_kranjski oz X je wildcard

hvala
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
A ne bi bilo lažje, da bi šel iz druge smeri? Torej namesto da brišeš kar ne ustreza, da pobiraš ven to kar ustreza.
Za X praviš da je wildcard... iz česa vse pa je sestavljen? Samo alfanumerični znaki ali še kaj dodatnega?
 

disco

Fizikalc
21. jul 2007
1.102
0
36
Torej, če grem iz druge strani, moram to vmes nekam izvozit? Uporabljam notepad++, ki pa niti ne vem, če ima to možnost.

X je sestavljen iz črk in številk..drugega ni.

Ubistvu zdej ko gledam kaj sem napisal, zgleda zapis enako kot email naslov, če zamenjam # z @. Torej, da poenostavim, kako bi iz datoteke, ki ima boga in pol notri, dobil ven email naslov, ki zgleda janez.kranjski@gmail.com ... s tem, da je vsaka beseda wildcard.
 

der_Alte

Fizikalc
21. jul 2007
2.063
10
38
Zemlja
alte.aufbix.org
Potem najdeš regularen izraz za iskanje mail naslovov in zamenjaš @ z #. Pa ne pozabit vklopit, da išče tako male kot velike črke.
\b[A-Z0-9._%+-]+#[A-Z0-9.-]+\.[A-Z]{2,4}\b
 

disco

Fizikalc
21. jul 2007
1.102
0
36
Aha...krasno. Tole je zelo uporabno. Mi je uspelo v Dreamweaverju, ki ima možnost izvozit iskalne rezultate v xml.

A poznaš slučajno še opcijo, da bi izločil duplikate? V tej datoteki imam določene izraze, ki se ponavljajo, ki pa jih ne rabim in mi samo polnijo prostor. Obstaja način, da bi vse dvojnike pobrisal ven?

Hvala
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Citat:
Uporabnik der_Alte pravi:
Potem najdeš regularen izraz za iskanje mail naslovov in zamenjaš @ z #. Pa ne pozabit vklopit, da išče tako male kot velike črke.
\b[A-Z0-9._%+-]+#[A-Z0-9.-]+\.[A-Z]{2,4}\b

Si ti par escape znakov pozabil?

Za emaile jaz uporabljam tole: [a-z0-9\-_]+([a-z0-9\-_]+)?@([a-z0-9\-_]+\.)+[a-z]{2,4}

za konkretni primer pa, če je underline vmes obvezen: [a-z0-9]+_[a-z0-9]+#[a-z0-9]+_[a-z0-9]+

V notepadu++ pa daš find in potem find all in current document, pa ti naredi ločeni seznam zadetkov, ki ga lažje nadalje čištiš.