komentarze
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 :)
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
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.
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 :)

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;
}
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 $
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…
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.