Forum » Programiranje » Regexp izraz za filtriranje imen datotek
Regexp izraz za filtriranje imen datotek
Parkelj ::
Spostovani!
V seznamu stringov imam vsebino direktorija (imena datotek) in sedaj bi rad pofiltiral z regular expression samo tiste datoteke, katerih zadnji trije znaki v imenu so "xml". Kaksen je regexp expression za tovrstno dejanje?
Vnaprej se zahvaljujem za pomoc in lp,
M.
V seznamu stringov imam vsebino direktorija (imena datotek) in sedaj bi rad pofiltiral z regular expression samo tiste datoteke, katerih zadnji trije znaki v imenu so "xml". Kaksen je regexp expression za tovrstno dejanje?
Vnaprej se zahvaljujem za pomoc in lp,
M.
Parkelj ::
https://regex101.com/ tule se malo poigraj. Kar priročna zadeva...
Super, hvala, ampak rabil bi urgentno ta regexp, poigral se bom potem rade volje, ker jih bom se potreboval!
Lp,
M.
prtenjam ::
Pozdravljen,
Potem iščeš nekaj takšnega: 'začetek niza', 'poljubno število znakov', 'xml', 'konec niza':
Potem iščeš nekaj takšnega: 'začetek niza', 'poljubno število znakov', 'xml', 'konec niza':
^.*xml$
Matjaž Prtenjak
https://mnet.si
https://mnet.si
Parkelj ::
Invictus ::
regexa se ne da naučit.
Lahko samo bolj ali manj uporablajš dokumentacijo .
Lahko samo bolj ali manj uporablajš dokumentacijo .
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Parkelj ::
garamond ::
^.*xml$bo našel tudi moj_xml (datoteka brez končnice) namesto samo moj_xml.xml
Predlagam da v regex dodaš iskanje tudi pike.
A parody of extremism is impossible to differentiate from sincere extremism.
Parkelj ::
GupeM ::
garamond ::
Odgovor je seveda 100% pravilen (in celo razložen - pohvalno), kar pa zelo verjetno ni pravilno oz. natančno je zastavljeno vprašanje. Veliko tehničnih vprašanj je tako zastavljenih. Toda na nas je, da ugotovimo kaj avtor resnično želi, in šele potem podamo odgovor.^.*xml$bo našel tudi moj_xml (datoteka brez končnice) namesto samo moj_xml.xml
Kar je, glede na originalno vprašanje, seveda pravilno.
A parody of extremism is impossible to differentiate from sincere extremism.
GupeM ::
Odgovor je seveda 100% pravilen (in celo razložen - pohvalno), kar pa zelo verjetno ni pravilno oz. natančno je zastavljeno vprašanje. Veliko tehničnih vprašanj je tako zastavljenih. Toda na nas je, da ugotovimo kaj avtor resnično želi, in šele potem podamo odgovor.
Se strinjam, in tvoj odgovor je skoraj sigurno to, kar v resnici OP rabi. Ampak glede na to, da je dobil pravilno rešitev na svoje vprašanje, je fajn, da kasneje še sam malo razmiga možgančke, ko bo videl, da stvar ne dela čisto tako kot je mislil :)
S tem se bo največ naučil. Tako regexov, kot tega da mora biti vprašanje zastavljeno pravilno.
Ahim ::
Ampak glede na to, da je dobil pravilno rešitev na svoje vprašanje, je fajn, da kasneje še sam malo razmiga možgančke, ko bo videl, da stvar ne dela čisto tako kot je mislil :)
S tem se bo največ naučil. Tako regexov, kot tega da mora biti vprašanje zastavljeno pravilno.
Zakaj pa to? Naloga je resena
kuall ::
regex-i v programiranju so dokaj neuporabna stvar, ker se da isto stvar doseč z bolj jasno kodo, ki jo vsi razumejo oziroma ki jo bnoš ti razumel tudi čez x let, medtem ko regex boš pozabil, kaj dela razen če boš investiral veliko časa, da rataš stručnjak v njih.
so pa koristni, če iščeš npr text po vsebini fajlov, npr v notepad ++. za tam bi se jih pa splačalo naučit.
so pa koristni, če iščeš npr text po vsebini fajlov, npr v notepad ++. za tam bi se jih pa splačalo naučit.
Invictus ::
regex-i v programiranju so dokaj neuporabna stvar, ker se da isto stvar doseč z bolj jasno kodo
Kaj pa je nerazumljivega v regexih? Za amaterja veliko, za nas, ki to znamo, pa nič...
Regexi dostikrat prispevajo k berljivi kodi, pa še hitreje se izvede, kot eno bluzenje kvazi jasne kode...
Ti še dobrega programiranja od blizu videl nisi...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
kuall ::
saj si sam rekel, da rabiš vsakič gledat v dokumentacijo in zgubljat čas. zato so zanič. razen če imeš zelo dober spomin in investiraš veliko ur, da se naučiš potem so dobra praksa. vemo, da je človeški spomin slab.
pa ni potrebe po tvojem primitivnem levičarskem balkanskem žaljenju, če se ne strinjava v stilu programiranja.
pa ni potrebe po tvojem primitivnem levičarskem balkanskem žaljenju, če se ne strinjava v stilu programiranja.
Invictus ::
Ja, sam regex engine je bistveno bolj optimiziran, kot boš ti (ali jaz) kadarkoli napisal kodo.
Zato ima regexe vsak jezik...
Očitno delaš bolj simple zadeve .
Zato ima regexe vsak jezik...
Očitno delaš bolj simple zadeve .
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
kuall ::
regex je uporaben najbolj zato, ker hitreje sprogramiraš. veliko manj tipkanja. če se ti ne da tipkat in zelo pogosto parsaš stvari se celo splača investirat čas in se naučit tega, ker bo treba manj tipkat.
če hočeš hitrost kode se jim izogibaš.
dostikrat ne moreš vedeti, ali bo nek regex hiter ali počasen. da bi to znal vedeti moraš investirati še več časa, da naštudiraš ozadje regex mašine. potratno na kvadrat. pač odvisno, kako pogosto to rabiš. jaz ne parsam stvari preveč pogosto, tak da mi je brezveze to se učit. če pa že jih najraje naredim "from scratch", brez raznih knjižnic za parsanje in še najbolje izpade kot pa jebanje z raznimi knjižnicami.
če hočeš hitrost kode se jim izogibaš.
dostikrat ne moreš vedeti, ali bo nek regex hiter ali počasen. da bi to znal vedeti moraš investirati še več časa, da naštudiraš ozadje regex mašine. potratno na kvadrat. pač odvisno, kako pogosto to rabiš. jaz ne parsam stvari preveč pogosto, tak da mi je brezveze to se učit. če pa že jih najraje naredim "from scratch", brez raznih knjižnic za parsanje in še najbolje izpade kot pa jebanje z raznimi knjižnicami.
SeMiNeSanja ::
Regex je pa res cool stvar - pa ne samo za programerje!
Jaz ga uporabljam v Total Commander in UltraEdit, pa še pri filtriranju logov požarne pregrade...
V Ultraedit imam par ekstremnih regex izrazov v nekih skriptah, ki mi premečejo čisto zmešane podatke iz copy&paste iz pdf računa v csv obliko, da jih lahko potem lepo prenesem v excel....
Zoprno je edino, če Regex ne uporabljaš vsak dan. Osnovne stvari si že zapomniš, tiste 'finese' pa se vedno nekaj loviš (npr. non-greedy moram vsakič na novo pobrskat, kako že gre - da sem že sam nase jezen).
Pa še glede izvornega vprašanja - jaz bi uporabil:
^.*\.xls(x){0,1}$
- da bi pobral tako *.xls, kot tudi *.xlsx
Je pa odvisno od orodja, če potrebuješ posebej poudarjati ^ in $
Jaz ga uporabljam v Total Commander in UltraEdit, pa še pri filtriranju logov požarne pregrade...
V Ultraedit imam par ekstremnih regex izrazov v nekih skriptah, ki mi premečejo čisto zmešane podatke iz copy&paste iz pdf računa v csv obliko, da jih lahko potem lepo prenesem v excel....
Zoprno je edino, če Regex ne uporabljaš vsak dan. Osnovne stvari si že zapomniš, tiste 'finese' pa se vedno nekaj loviš (npr. non-greedy moram vsakič na novo pobrskat, kako že gre - da sem že sam nase jezen).
Pa še glede izvornega vprašanja - jaz bi uporabil:
^.*\.xls(x){0,1}$
- da bi pobral tako *.xls, kot tudi *.xlsx
Je pa odvisno od orodja, če potrebuješ posebej poudarjati ^ in $
Pričujoče sporočilo je (lahko) oglasno sporočilo
- četudi na prvi pogled ni prepoznavno kot tako.
(Zdaj me pa obtožite prikritega oglaševanja, če morete!)
- četudi na prvi pogled ni prepoznavno kot tako.
(Zdaj me pa obtožite prikritega oglaševanja, če morete!)
XyNOBvxWVJ ::
(x){0,1} --> 'x{0,1}' --> 'x?'
Oklepaj ni potreben, če ne želiš catchati enega ali nobenega x za nadaljno rabo.
^ in $ je pravilno, ker je eksaktno, ker sicer bi bil match tudi
'x?abc'...
? je 'bližnjica' za {0,1}
Oklepaj ni potreben, če ne želiš catchati enega ali nobenega x za nadaljno rabo.
^ in $ je pravilno, ker je eksaktno, ker sicer bi bil match tudi
'x?abc'...
? je 'bližnjica' za {0,1}
Zgodovina sprememb…
- spremenilo: XyNOBvxWVJ ()
GupeM ::
@kuall: Regexi so čisto uporabni tudi pri programiranju v določenih primerih. Pogosto si tudi ni treba zapomnit, kaj točno določena stvar naredi, ker se oblika sourcea ne spreminja. Recimo log fajli, s katerih hočeš ven potegnit točno določene zadeve.
Uporabni so tudi pri preverjanju, če je nek vnešen string valid. Recimo da imaš v formi neko polje, ki mora obvezno izgledati kot: črka D ali R, nato tri cifre in na koncu še opcijski X. Lahko pa se začne s črko G, vendar mora v tem primeru imeti še 4 cifre in na koncu ne sme biti ničesar več. Lahko pa se začne s cifro, ki ni 0, nato še 3 ali 4 cifre in na koncu ABC. V takšnih primerih so regexi izredno uporabni.
Tretja uporabna stvar: vi, less, grep ...
Četrta uporabna stvar, kjer se jih zelo veliko poslužujem: V text editorjih, find and replace. Recimo imaš CSV file, pa bi rad iz njega naredil insert v tabelo:
original csv:
z regexom in group matchingom brez težav pretvoriš v:
Spredaj dodaš samo še INSERT INTO table_name in imaš insert.
@SeMiNeSanja: Govora je o XML, ne o xls(x). Pa niti ne veš, kaj točno OP hoče, tudi če bi iskal xls(x). Mogoče bi hotel najti samo XLS, zato da jih pretvori v novejši XLSX.
Uporabni so tudi pri preverjanju, če je nek vnešen string valid. Recimo da imaš v formi neko polje, ki mora obvezno izgledati kot: črka D ali R, nato tri cifre in na koncu še opcijski X. Lahko pa se začne s črko G, vendar mora v tem primeru imeti še 4 cifre in na koncu ne sme biti ničesar več. Lahko pa se začne s cifro, ki ni 0, nato še 3 ali 4 cifre in na koncu ABC. V takšnih primerih so regexi izredno uporabni.
Tretja uporabna stvar: vi, less, grep ...
Četrta uporabna stvar, kjer se jih zelo veliko poslužujem: V text editorjih, find and replace. Recimo imaš CSV file, pa bi rad iz njega naredil insert v tabelo:
original csv:
1,0.567,GupeM,1.1.2021 2,3.786,kuall,1.2.2021
z regexom in group matchingom brez težav pretvoriš v:
select 1, 0.567, 'GupeM', to_date('1.1.2021', 'DD.MM.YYYY') from dual union select 2, 3.786, 'kuall', to_date('1.2.2021', 'DD.MM.YYYY') from dual
Spredaj dodaš samo še INSERT INTO table_name in imaš insert.
@SeMiNeSanja: Govora je o XML, ne o xls(x). Pa niti ne veš, kaj točno OP hoče, tudi če bi iskal xls(x). Mogoče bi hotel najti samo XLS, zato da jih pretvori v novejši XLSX.
Invictus ::
Če se ukvarjaš s tekstovni podatki, je uporaba regex obvezna. Vse ostalo je kompliciranje...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
GupeM ::
Invictus ::
No, jaz pa že...
Se da tudi to...
Se da tudi to...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Parkelj ::
No hvala vsem, tole sedaj preverjeno dela - rabil sem ga pa v Qt-jevem modelu za filtiranje listinga fajlov, ki se potem prenese preko QML-a v GUI. Kot sem rekel, potreboval jih bom se kar nekaj, zato se cez vikend spravim bolj natancno prebrat docse, za1x vidim, da so sila uporabna stvar ... :D
Se enkrat hvala vsem in lp,
M.
Se enkrat hvala vsem in lp,
M.
kuall ::
Očitno delaš bolj simple zadeve .
Parsanje textov pa res ni nekaj kompliciranega. no, z regexi ga zakompliciraš.
Po moje ti regexa sploh ne znaš, glede na to, da nisi ponudil rešitve.
Zgodovina sprememb…
- spremenilo: kuall ()
XyNOBvxWVJ ::
Za vse, ki bi se radi naučili regularnih izrazov, ne vidijo v njih uporabnosti ali jih dojemajo kot preveč kompleksne in zamudne, tukaj je izhodišče, ker z nami so že veliko časa in, izgleda, nimajo namena hitro oditi. Pravila za pisanje vzorcev najdete tukaj, rabo pa tukaj.
Zgodovina sprememb…
- spremenilo: XyNOBvxWVJ ()
GupeM ::
Če pa kdo išče malo zabave, pa tukaj regex križanke.
https://regexcrossword.com/
Kar fina zadeva za malo možgane razgibat.
https://regexcrossword.com/
Kar fina zadeva za malo možgane razgibat.
kuall ::
raje se učte sql-a kot regex-ov, če se že česa učite. veliko bolj uporabna stvar za resno programiranje za večino programerjev. prav pride tudi ne-programerjem. regex je veliko bolj exotična stvar na drugi strani.
GupeM ::
Kot da bi rekel da se raje uči seštevanje kot množenje. Je seštevanje veliko bolj uporabno.
Zimonem ::
raje se učte sql-a kot regex-ov, če se že česa učite. veliko bolj uporabna stvar za resno programiranje za večino programerjev. prav pride tudi ne-programerjem. regex je veliko bolj exotična stvar na drugi strani.
Hruške pa bučke. Malo odloži tisti svoj cšarp pa se primi Perla.
Zgodovina sprememb…
- spremenilo: Zimonem ()
kuall ::
prtenjam ::
SeMiNeSanja je izjavil:
Pa še glede izvornega vprašanja - jaz bi uporabil:
^.*\.xls(x){0,1}$
- da bi pobral tako *.xls, kot tudi *.xlsx
Je pa odvisno od orodja, če potrebuješ posebej poudarjati ^ in $
Glede na mojo starost in število programerskih let, me je tale odgovor spomnil na staro šalo mladega, šolanega fanta, ki pride na vas in starejšemu kmetu pravi:
-: 'Ha, oča, če bi jaz obdeloval tole drevo, bi na njem zraslo 3x več jabolk!'
Kmet ga malce pogleda in pravi:
-: 'Potem pa vas na šolah v Ljubljani zares veliko naučijo. Meni na tej slivi niso še nikoli rasla jabolka.'
;) Pa brez zamere, ni mišljeno negativno; res sem se takoj spomnil te šale :)
Matjaž Prtenjak
https://mnet.si
https://mnet.si
Zimonem ::
Kot da bi rekel da se raje uči seštevanje kot množenje. Je seštevanje veliko bolj uporabno.
slabo analogijo si naredil, ker je seštevanje in množenje podobno praktično (pogosto rabiš). ravno to sem hotel reči, da je sql veliko bolj razširjen kot regex.
V bistvu ni. Pa namen je povsem drugačen. Če ti tlačiš stvari v bazo, to še ni sprejeta praksa. Veliko več se parsa tekst kot pa poizveduje po bazah.
GupeM ::
Kot da bi rekel da se raje uči seštevanje kot množenje. Je seštevanje veliko bolj uporabno.
slabo analogijo si naredil, ker je seštevanje in množenje podobno praktično (pogosto rabiš). ravno to sem hotel reči, da je sql veliko bolj razširjen kot regex.
Tak je bil tudi moj namen. Dve različni stvari, obe praktični. In obe se je neumnost učit na pamet. Osnove ja, če rabiš bolj napredne zadeve, se pa takrat pogleda v dokumentacijo oz se takrat nauči.
Sicer se pa osnov regexov se naučiš v dveh dneh in če jih boš vsaj približno redno uporabljal, boš s tem lahko rešil 99,9% vseh problemov, ki so primerni za regexe. Za tist najbolj zajeban 0,1% pa pokličeš kualla, da ti jih reši z jasno kodo z dvema milijonoma vrsticami in komentarji.
Zimonem ::
Kot da bi rekel da se raje uči seštevanje kot množenje. Je seštevanje veliko bolj uporabno.
slabo analogijo si naredil, ker je seštevanje in množenje podobno praktično (pogosto rabiš). ravno to sem hotel reči, da je sql veliko bolj razširjen kot regex.
Tak je bil tudi moj namen. Dve različni stvari, obe praktični. In obe se je neumnost učit na pamet. Osnove ja, če rabiš bolj napredne zadeve, se pa takrat pogleda v dokumentacijo oz se takrat nauči.
Sicer se pa osnov regexov se naučiš v dveh dneh in če jih boš vsaj približno redno uporabljal, boš s tem lahko rešil 99,9% vseh problemov, ki so primerni za regexe. Za tist najbolj zajeban 0,1% pa pokličeš kualla, da ti jih reši z jasno kodo z dvema milijonoma vrsticami in komentarji.
Ne vemo še s katero pasmo parserjev ali mogoče prisega na peg?
kuall ::
Dve različni stvari, obe praktični.
A ti v službi na dnevni bazi uporabljaš regex? Zelo dvomim v to, če pa ja mi povej, kaj delaš?
Ker jaz na dnevni bazi uporabljam SQL in še mnogo drugih programerjev tudi. O tem govorim. O uporabnosti.
Slo tech buče so res trde, nimaš kaj.
Drgač pa sem odgovoril tudi unemu zinamoneju na njegovo neumno izjavo ampak ker mi blufiš briše ne boste nikoli izvedeli odgovora.
SeMiNeSanja ::
Hold back the dogs!
Kje vraga navaden smrtnik, ki ni programer uporablja SQL?
Regexp pa sem že povedal, da je v kar nekaj orodjih, ki nimajo veze s programiranjem, npr. v precej priljubljenem TotalCommander ali v UltraEdit.
Če operiraš izključno nad tekstovnimi datotekami....kaj vraga boš potem s SQLom?
Eni očitno živite v čisto nekem svojem svetu?
Ali kako naj razumem to obsesijo z SQL?
Kje vraga navaden smrtnik, ki ni programer uporablja SQL?
Regexp pa sem že povedal, da je v kar nekaj orodjih, ki nimajo veze s programiranjem, npr. v precej priljubljenem TotalCommander ali v UltraEdit.
Če operiraš izključno nad tekstovnimi datotekami....kaj vraga boš potem s SQLom?
Eni očitno živite v čisto nekem svojem svetu?
Ali kako naj razumem to obsesijo z SQL?
Pričujoče sporočilo je (lahko) oglasno sporočilo
- četudi na prvi pogled ni prepoznavno kot tako.
(Zdaj me pa obtožite prikritega oglaševanja, če morete!)
- četudi na prvi pogled ni prepoznavno kot tako.
(Zdaj me pa obtožite prikritega oglaševanja, če morete!)
kuall ::
> Kje vraga navaden smrtnik, ki ni programer uporablja SQL?
jaz sem govoril o programerjih, ampak naj ti bo:
večino programov poganja sql baza. če so podatki napačni greš z sqlom raziskovat po bazi, kaj ne štima. za to ponavadi zaposliš programerja, ampak programer sam ne more vsega, rabi pomoč ostalih (direktorja firme itd). če so ti ostali pismeni v SQL mu lažje pomagajo. tisti, ki zna sql od teh pomagačev je pač dosti bolj sposoben v reševanju takih problemov. sposobni se SQLa naučijo, nesposobni nikoli, čeprav bi se lahko.
velikokrat je treba s pomočjo SQLa tudi narediti kakšen izpis podatkov, npr iz baze v excel in obratno je kr pogosto. če znaš SQL lahko sam to narediš, ne rabiš programerja.
>Če operiraš izključno nad tekstovnimi datotekami....kaj vraga boš potem s SQLom?
Kdo pa to dela? Kakšno delo je to? Si ne znam predstavljat. Če parsaš tekstovno datoteko pa ja shraniš rezultate v SQL bazo? ali kaj narediš z rezultati?
Drugače pa je bila moja trditev ravno to, da se veliko bolj pogosto ukvarja z SQL bazami kot z raw text fajli. Mogoče se motim, ampak to trdim po tem, kar sem do zdaj videl v življenju. Razen če res živimo v čisto drugih svetovih. :D
jaz sem govoril o programerjih, ampak naj ti bo:
večino programov poganja sql baza. če so podatki napačni greš z sqlom raziskovat po bazi, kaj ne štima. za to ponavadi zaposliš programerja, ampak programer sam ne more vsega, rabi pomoč ostalih (direktorja firme itd). če so ti ostali pismeni v SQL mu lažje pomagajo. tisti, ki zna sql od teh pomagačev je pač dosti bolj sposoben v reševanju takih problemov. sposobni se SQLa naučijo, nesposobni nikoli, čeprav bi se lahko.
velikokrat je treba s pomočjo SQLa tudi narediti kakšen izpis podatkov, npr iz baze v excel in obratno je kr pogosto. če znaš SQL lahko sam to narediš, ne rabiš programerja.
>Če operiraš izključno nad tekstovnimi datotekami....kaj vraga boš potem s SQLom?
Kdo pa to dela? Kakšno delo je to? Si ne znam predstavljat. Če parsaš tekstovno datoteko pa ja shraniš rezultate v SQL bazo? ali kaj narediš z rezultati?
Drugače pa je bila moja trditev ravno to, da se veliko bolj pogosto ukvarja z SQL bazami kot z raw text fajli. Mogoče se motim, ampak to trdim po tem, kar sem do zdaj videl v življenju. Razen če res živimo v čisto drugih svetovih. :D
GupeM ::
Dve različni stvari, obe praktični.
A ti v službi na dnevni bazi uporabljaš regex? Zelo dvomim v to, če pa ja mi povej, kaj delaš?
Ker jaz na dnevni bazi uporabljam SQL in še mnogo drugih programerjev tudi. O tem govorim. O uporabnosti.
Slo tech buče so res trde, nimaš kaj.
Drgač pa sem odgovoril tudi unemu zinamoneju na njegovo neumno izjavo ampak ker mi blufiš briše ne boste nikoli izvedeli odgovora.
Ne, ne uporabljam regexov na dnevni bazi. Ampak pazi, pridejo več mesečna obdobja, ko jih uporabljam večkrat kot SQL. Pa sem programer. Pa skupaj s (pl)sqlom regexi so regexi pogosto prav svinjsko uporabni.
Mi je pa jasno, da če jih ne znaš uporabljat, se ti zdijo brezvezni in niti pomisliš ne na to, da bi v določenih primerih lahko uporabil regex. Zadevo raje napišeš v 375 vrsticah Pythona, kot pa da bi uporabil enostaven enovrstičen regex. Podobno kot pri matematiki, namesto da bi zapisal 5*5*5, bi raje uporabil 5+5+5+5+5+5+5+5+5+.... Če pa poznaš način se krajšega zapisa lahko pa zapišeš celo 53. Zdaj pa še poglej kaj je bolj berljivo.
Zgodovina sprememb…
- spremenil: GupeM ()
Poldi112 ::
>
jaz sem govoril o programerjih, ampak naj ti bo:
No, pa si našel svoj problem.
Programerji ste zanemarljiv, nereprezentativen del uporabnikov.
Jaz recimo, ki se prebijamo čez solato, ki jo za seboj puščajo aplikacije, si pri delu pomagam z regex, ne z sql - ker je regex enostavno daleč najprimerjenše orodje.
Oglej si ga - se ti bo odprl en povsem nov svet.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.
redo ::
ROTFL. Nekih poglobljenih izkušenj v tem, da v temi izločanja imen datotek, kot rešitev predlagaš SQL (rešitve seveda ne podaš), jaz ne vidim. Prej mi to sporoča pomanjkanje le-teh. Si predstavljam, da že čas, ki ga bi kuall porabil za spisat SQL ukaze, ki izvedejo isto operacijo, za velikostne rede presega kumulativni čas izvajanja te kode v celotnem njenem obstoju avtorjevega problema. Kje je šele razlika z regex rešitvijo. Drugače bi pričakoval, da bi to SQL rešitev že podal. Sicer je najbrž vsem jasno, da je isto operacijo mogoče izvesti tudi v Excelu. Iz solate, ki je nastala v tej temi sklepam, da kuall bolj piše dokumentacijo, kot programira.
Gejspodar ::
ROTFL. Nekih poglobljenih izkušenj v tem, da v temi izločanja imen datotek, kot rešitev predlagaš SQL (rešitve seveda ne podaš), jaz ne vidim. Prej mi to sporoča pomanjkanje le-teh. Si predstavljam, da že čas, ki ga bi kuall porabil za spisat SQL ukaze, ki izvedejo isto operacijo, za velikostne rede presega kumulativni čas izvajanja te kode v celotnem njenem obstoju avtorjevega problema. Kje je šele razlika z regex rešitvijo. Drugače bi pričakoval, da bi to SQL rešitev že podal. Sicer je najbrž vsem jasno, da je isto operacijo mogoče izvesti tudi v Excelu. Iz solate, ki je nastala v tej temi sklepam, da kuall bolj piše dokumentacijo, kot programira.
To ni še nič. Preberi njegove cvetke v tej temi Ničle v SQl tabeli
XyNOBvxWVJ ::
Mogoče pa želi kuall samo malo strokovne osnovne debate in pač prevzame vlogo hudičevega advokata, da malo poživi dogajanje?
Invictus ::
No ja, @kuall je že dostikrat pokazal svoje neznanje in nerazgledanost v drugih debatah.
Pač živi v svojem mehurčki in zaradi par dreves ne vidi gozda...
Pač živi v svojem mehurčki in zaradi par dreves ne vidi gozda...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Zgodovina sprememb…
- spremenil: Invictus ()
BigWhale ::
regex je uporaben najbolj zato, ker hitreje sprogramiraš. veliko manj tipkanja. če se ti ne da tipkat in zelo pogosto parsaš stvari se celo splača investirat čas in se naučit tega, ker bo treba manj tipkat.
če hočeš hitrost kode se jim izogibaš.
dostikrat ne moreš vedeti, ali bo nek regex hiter ali počasen. da bi to znal vedeti moraš investirati še več časa, da naštudiraš ozadje regex mašine. potratno na kvadrat. pač odvisno, kako pogosto to rabiš. jaz ne parsam stvari preveč pogosto, tak da mi je brezveze to se učit. če pa že jih najraje naredim "from scratch", brez raznih knjižnic za parsanje in še najbolje izpade kot pa jebanje z raznimi knjižnicami.
Regex se uporablja tam kjer mu je mesto. Razlagat o performansah in o tem kako je SQL bolj pomemben, povsem izven konteksta, je neumnost. So stvari, ki jih z regexom resis prakticno takoj. Tale primer, ki ga imamo sedaj, ko je treba filtrirat imena datotek v dialogu, je resnicno odlicen. Ce bos sel pisat svoj filter za to, bos porabil vec casa in pridelal se kak bug zraven. SQL? SQL tukaj sploh ne pride v postev.
Moderni regex engini so optimizirani in hitri in nekaj cemur se ti s svojo kodo tezko priblizas. Lahko nam pa predstavis kak svoj primer, ki potrdi to kar pravis, da bo tvoja koda hitrejsa od regexa. :)
Invictus ::
Lahko nam pa predstavis kak svoj primer, ki potrdi to kar pravis, da bo tvoja koda hitrejsa od regexa. :)
In da je to sprogramiral hitreje kot bi napisal en regex ...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kje in kako dobiti vse črke abecede? (strani: 1 2 )Oddelek: Programiranje | 5732 (4030) | Gagatronix |
» | En bugOddelek: Programiranje | 1213 (736) | mr_chai |
» | [Java] Regularni izrazOddelek: Programiranje | 1127 (979) | jan_g |
» | grep - čisto malo pomoči ;)Oddelek: Programiranje | 2346 (1823) | c0dehunter |
» | c# regularni izrazOddelek: Programiranje | 2017 (1715) | darkolord |