komentarze
majkelloo2Zobacz profil
Poziom ostrzeżenia: 0%
majkelloo22018.05.17, 14:20
Zgadza się nie masz wiedzy to nie przeskoczysz. Ja to sporo sam pisałem i w IT Academy szkolenia kończyłem także radzę sobie. Dobrych pracowników w IT to ze świecą trzeba szukać. A doświadczenia jak się nie ma to daleko się nie zajdzie…
KyriakosZobacz profil
Poziom ostrzeżenia: 0%
Kyriakos2018.05.14, 07:12
skyline rider @ 2018.05.10 17:54  Post: 1143204
Ja bym prosił jednak żeby takie 'artykuły' jak ten były odpowiednio oznaczane, np. jako oferta lub reklama.

Dużo zapłacili to nie ma napisu 'reklama'. PC LOL $
AndreeZobacz profil
Poziom ostrzeżenia: 0%
Andree2018.05.12, 13:19
-1#25
jacktheripper @ 2018.05.11 22:01  Post: 1143396
RegEx to podstawa pracy na plikach, gdy trzeba zamienić pierdółkę w tysiącu plików. Nie zawsze wszystko jest zapisywane w jsonie albo xmlu, a poza tym regex jest szybszy, zwykle to linijka kodu, a nie kilkanaście w przypadku odczytywania drzewa xml/json.

Popieram, mi się ostatnio regex przydał, kiedy musiałem odczytać datę i czas utworzenia pliku zapisaną wewnątrz pliku HTML.

#include <dateutils.hpp>
#include <boost/regex.hpp>

bool __fastcall GetDateFromIndexHtm(UnicodeString strIndexFile, TDateTime &dtDate)
{
TStringList *pstrlistFile = new TStringList;
pstrlistFile->LoadFromFile(strIndexFile);
std::wstring wstrText = pstrlistFile->GetText();
delete pstrlistFile;
const boost::wregex regexDT(L"(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2})");
boost::wsmatch wstrMatch;
bool bFound = boost::regex_search(wstrText, wstrMatch, regexDT);
if(bFound) {
std::wstring wstrDate = std::wstring(wstrMatch[0].first,wstrMatch[0].second);
UnicodeString strDate(wstrDate.c_str());
int nPos = strDate.Pos(L" ");
if(nPos > 0) {
strDate[nPos] = L'T';
dtDate = ISO8601ToDate(strDate);
return true;
}
}
return false;
}
MyneronZobacz profil
Poziom ostrzeżenia: 0%
Myneron2018.05.12, 12:09
-1#24
thormak @ 2018.05.11 09:48  Post: 1143301
Myneron @ 2018.05.10 11:19  Post: 1143130

Jak by ktoś się zastanawiał jak wygląda przykład wzorca na sprawdzenie email'a, którego używa Google lub MS:
'[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'


Nie wprowadzaj ludzi w błąd! Nie jest prawdą, że MS jak i Google używają jakichkolwiek wyrażeń regularnych do sprawdzania poprawności adresu email. Dodatkowo to wyrażenie co podałeś jest kompletnie błędne. Nie spełnia nawet podstawowych założeń rfc 822 jak i 5322.
Powiem więcej, do sprawdzenia poprawności adresu email w ogóle nie używa się regexp'a a 99,99% przykładów z sieci jest źle napisanych i po prostu nie działa jak powinno.

A na przyszłość - Jeśli chcesz rozwiązać problem za pomocą wyrażenia regularnego, to masz dwa problemy :)



Programuję w C# i z tego co wiem na co dzień używam atrybutów w jakiejś formie, nie wierzysz w używanie Regex'ów np. przez MS? Proszę bardzo, kod źródłowy .NET Framework:

https://github.com/Microsoft/referencesour...essAttribute.cs
Dalej idąc tym tokiem rozumowania, bazuję na wiedzy Sasha Goldshtein, który zajmuje się wydajnością aplikacji m.in w .NET i optymalizacją na poziomie assemblera i jak poleca jakiś wzorzec, ponieważ zna się na tym lepiej niż ja, to wole go posłuchać.

Na przyszłość, zanim zaczniesz kogoś obwiniać o niewiedzę to przeczytaj wypowiedź jako całość bez wybiórczego cytowania, ponieważ nie pasuje Ci to do Twojego kontekstu.

A propos, faktycznie swoją wypowiedzą powtórzyłeś prawie od deski do deski moją wypowiedź dlaczego nie warto używać regex'ów, m.in przez takie sytuacje :)

jacktheripperZobacz profil
Poziom ostrzeżenia: 0%
jacktheripper2018.05.11, 22:01
-1#23
RegEx to podstawa pracy na plikach, gdy trzeba zamienić pierdółkę w tysiącu plików. Nie zawsze wszystko jest zapisywane w jsonie albo xmlu, a poza tym regex jest szybszy, zwykle to linijka kodu, a nie kilkanaście w przypadku odczytywania drzewa xml/json.
basicdataZobacz profil
Poziom ostrzeżenia: 0%
basicdata2018.05.11, 10:33
-1#22
Vendeur @ 2018.05.10 12:21  Post: 1143145
Sytuacja na OnetLab z żenującymi i kpiącymi z czytelników reklamami to już jest jakieś przegięcie...


po co te kropki :P dokoncz wypowiedz ;)

mnie zawsze meczyl dr bo napisalem program maly ale z wieloma zakazanymi sztuczkami. dzialal ale po kompilacji juz nikt nie wiedzial ocoho :E
thormakZobacz profil
Poziom ostrzeżenia: 0%
thormak2018.05.11, 09:48
Myneron @ 2018.05.10 11:19  Post: 1143130

Jak by ktoś się zastanawiał jak wygląda przykład wzorca na sprawdzenie email'a, którego używa Google lub MS:
'[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'


Nie wprowadzaj ludzi w błąd! Nie jest prawdą, że MS jak i Google używają jakichkolwiek wyrażeń regularnych do sprawdzania poprawności adresu email. Dodatkowo to wyrażenie co podałeś jest kompletnie błędne. Nie spełnia nawet podstawowych założeń rfc 822 jak i 5322.
Powiem więcej, do sprawdzenia poprawności adresu email w ogóle nie używa się regexp'a a 99,99% przykładów z sieci jest źle napisanych i po prostu nie działa jak powinno.

A na przyszłość - Jeśli chcesz rozwiązać problem za pomocą wyrażenia regularnego, to masz dwa problemy :)
SundayUserZobacz profil
Poziom ostrzeżenia: 0%
SundayUser2018.05.11, 09:26
-1#20
Piszę w C na uKontrolery, bez RegEx daleko nie zajdę? Ludzie, programowanie to nie tylko Łyndołs!
e-bor@sZobacz profil
Poziom ostrzeżenia: 0%
e-bor@s2018.05.11, 08:07
regexy warto znać, sam ich używam, ale jestem ich wrogiem. Kod zawierający zbyt dużo wyrażeń jest zwyczajnie nieczytelny I kosztowny w utrzymaniu. Jednorazowe akcje, jak najbardziej, ale w dużym projekcie już niekoniecznie.
SnowmewZobacz profil
Poziom ostrzeżenia: 0%
Snowmew2018.05.10, 23:24
-1#18
wrekawek @ 2018.05.10 19:46  Post: 1143225
Mi ostatnio przyszło inserty na merge przerabiać w skrypcie uzupełniającym dane słownikowe - do \7 doszedłem :)

Mi było dane przekonać się, że limitem w Geany jest \9 :D Ale zrobiłem w dwóch przejściach to co miałem.=]
wrekawekZobacz profil
Poziom ostrzeżenia: 0%
wrekawek2018.05.10, 19:46
-1#17
Snowmew @ 2018.05.10 11:36  Post: 1143135

Wyrażenia regularne są fajne, pozwalają oszczędzić czas. Fajnie jest w przypadku 'znajdź i zamień' w plikach tekstowych, kiedy możesz odwoływać się do fragmentów znalezionych wyrażeniem za pomocą \1, \2 itd. Geany jest moim odpowiednikiem notatnika dzięki tej opcji.

Mi ostatnio przyszło inserty na merge przerabiać w skrypcie uzupełniającym dane słownikowe - do \7 doszedłem :)
dario27Zobacz profil
Poziom ostrzeżenia: 0%
dario272018.05.10, 19:26
kpina
skyline riderZobacz profil
Poziom ostrzeżenia: 0%
skyline rider2018.05.10, 17:54
10#15
Ja bym prosił jednak żeby takie 'artykuły' jak ten były odpowiednio oznaczane, np. jako oferta lub reklama.
StjepanZobacz profil
Poziom ostrzeżenia: 0%
Stjepan2018.05.10, 16:56
Jak tylko zobaczyłem 'we współpracy z Udemy' przestałem czytać.
h63619Zobacz profil
Poziom ostrzeżenia: 0%
h636192018.05.10, 15:24
-3#13
Znam tylko podstawy wyrażeń regularnych i zajechałem dość daleko.
petertechZobacz profil
Poziom ostrzeżenia: 0%
petertech2018.05.10, 13:43
11#12
Ile PCLab ma z tego g*wienka ? Aż tyle, że tak często to wrzuca i w ogóle się opłaca, ludzie się nabierają ? Widać takich co chodzą na pokazy garnków nie brak...ale z drugiej strony skoro trafia to tutaj, a np. gracze kupują gry przed premierą, recenzjami...jakby miało ich zabraknąć ? :E Przecież lootboxy z niczego się nie wzięły, widocznie i takie rzeczy są opłacalne dla największych portali...
nadro-linuxZobacz profil
Poziom ostrzeżenia: 0%
nadro-linux2018.05.10, 13:21
Co za bzdury... oczywiście wyrażenia regularne mogą być przydatne w wielu sytuacjach, ale nie opowiadajmy bzdur, że są obecne we wszystkich programach... W wielu z nich są kompletnie nieprzydatne i można być bardzo dobrym programistą bez posiadania o nich większej wiedzy. W ostatnich latach środowisko programistów strasznie się stacza. Moim zdaniem trend ten drastycznie zwiększył się wraz z ze zwiększonym zapotrzebowaniem na 'programistów' z uwagi na potrzeby rynku aplikacji mobilnych i wysyp masy framework'ów, w których nawet małpa byłaby w stanie coś skleić... nie ważne, że tak jak większość aplikacji mobilnych dany produkt działa wolno, zjada mase zasobów lub nie działa w ogóle... ważne, ze po prostu jest... Swoją ciegiełkę do takiego stanu rzeczy dokładają też autorzy beznadziejnych artykułów, które przedstawiają jakieś durne 'best practice', które bardzo często się nie sprawdzają jak zreszto wszystko co niby jest 'best' lub przechwalają jakieś rozwiązania (tak jak robi to ten artykuł). Później taki początkujący programista czyta takie głupoty i daną rzecz zaczyna wbijać na każdym kroku, gdyż przecież miało to być takie super rozwiązanie... Programista musi być samodzielny i samemu być w stanie wybrać to co jest 'best' dla jego oprogramowania, aby działało szybko i stabilnie, a kod był czytelny, gdyż jako twórca zna swój produkt najlepiej.
allmunioZobacz profil
Poziom ostrzeżenia: 0%
allmunio2018.05.10, 13:05
Vendeur @ 2018.05.10 12:21  Post: 1143145
Sytuacja na OnetLab z żenującymi i kpiącymi z czytelników reklamami to już jest jakieś przegięcie...

A co Lab może, Niemiec każe Polak robi.
VendeurZobacz profil
Poziom ostrzeżenia: 0%
Vendeur2018.05.10, 12:21
24#9
Sytuacja na OnetLab z żenującymi i kpiącymi z czytelników reklamami to już jest jakieś przegięcie...
SnowmewZobacz profil
Poziom ostrzeżenia: 0%
Snowmew2018.05.10, 11:36
-1#8
'Niektórzy ludzie, gdy napotykają na problem, myślą sobie: »Wiem! Użyję wyrażeń regularnych«. I teraz mają dwa problemy'
Zgadzam się w pełni. Jednak czasem warto rozwiązać 2 prostsze problemy niż jeden większy. :P

Wyrażenia regularne są fajne, pozwalają oszczędzić czas. Fajnie jest w przypadku 'znajdź i zamień' w plikach tekstowych, kiedy możesz odwoływać się do fragmentów znalezionych wyrażeniem za pomocą \1, \2 itd. Geany jest moim odpowiednikiem notatnika dzięki tej opcji. Nie wszyscy jednak ufają na tyle wyrażeniom (sobie?) by ich używać. Wyrażenia regularne generują problemy, są osoby, które sobie z nimi łatwo radzą, ale są takie, które polegną.
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.