Czy wyrażenia regularne są koniecznością w programowaniu? [zamknięte]

Czy wyrażenia regularne są niezbędne do programowania?

Author: 動靜能量, 2009-05-20

30 answers

Można bez nich bez problemu przejść, ale trzeba (IMHO) znać podstawy, z 2 powodów.
1) może nadejść czas, w którym RegEx jest najlepszym rozwiązaniem problemu (patrz obrazek poniżej)
2) gdy widzisz Regex w cudzym kodzie to nie powinno być w 100% mistyczne.

preg_match('/summarycount">.*?([,\d]+)<\/div>.*?Reputation/s', $page, $rep);

Ten kod jest dość prosty, ale jeśli nie znasz RegEx, to rzeczy, które są w pierwszym parametrze, mogą równie dobrze być językiem marsjańskim. RegEx, że używane tutaj jest rzeczywiście dość proste raz uczysz się podstaw, i aby dostać się tak daleko udać się do http://www.regular-expressions.info / mają dużo informacji o RegEx i jego różnych implimentacji na różnych platformach / langauges mają również świetny samouczek, aby zacząć. Po tym sprawdzić RegexBuddy, może pomóc zbudować RegExs i podczas budowania je jeśli oglądać, co to robi, to może pomóc chude, to zdecydowanie był najlepszy $39.95 kiedykolwiek wydane.



Oryginalny Komiks

 87
Author: UnkwnTech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:07:58

Tak. Możesz sobie poradzić bez nich, ale naprawdę powinieneś nauczyć się przynajmniej podstaw, ponieważ większość zadań obliczeniowych mogłaby z nich korzystać. Zaoszczędzisz wiele bólu i kłopotów na dłuższą metę. Wyrażenia regularne są o wiele łatwiejsze niż myślisz, gdy przejdziesz przez początkowy etap wtf.

 45
Author: Chris Huang-Leaver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:51:56

Powiedziałbym, że nie, nie są koniecznością. Możesz być doskonałym programistą, nie znając ich.

Uważam, że używam wyrażeń regularnych głównie do jednorazowych zadań manipulacji danymi, a nie do wprowadzania kodu aplikacji. Mogą być przydatne do walidacji danych wejściowych, ale w dzisiejszych czasach często kontrolki robią to za Ciebie.

 26
Author: Dave Webb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 10:10:53

Wcale nie. Wszystko, co można zrobić z wyrażeniami regularnymi, jest całkowicie możliwe do zrobienia bez nich.

Jest to jednak potężny system dopasowywania wzorców, więc niektóre rzeczy, które są dość łatwe do wykonania za pomocą prostego wzorca wyrażenia regularnego, wymagają dużo kodu, aby bez niego obejść się.

Na przykład to:

s = Regex.Replace(s, "[bcdfghjklmnpqrstvwxz]", "$1o$1");

Potrzebuje trochę więcej kodu, aby obejść się bez wyrażenia regularnego:

StringBuilder b = new StringBuilder();
foreach (char c in s) {
   if ("bcdfghjklmnpqrstvwxz".IndexOf(c) != -1) {
      b.Append(c).Append('o').Append(c);
   } else {
      b.Append(c);
   }
}
s = b.ToString();

Lub jeśli nie jesteś tak doświadczonym programistą, możesz łatwo stworzyć coś co jest jeszcze bardziej kodowe i działa strasznie źle:

string temp = "";
for (int i = 0; i < s.Length; i++ ) {
   if (
      s[i] == 'b' || s[i] == 'c' || s[i] == 'd' ||
      s[i] == 'f' || s[i] == 'g' || s[i] == 'h' ||
      s[i] == 'j' || s[i] == 'k' || s[i] == 'l' ||
      s[i] == 'm' || s[i] == 'n' || s[i] == 'p' ||
      s[i] == 'q' || s[i] == 'r' || s[i] == 's' ||
      s[i] == 't' || s[i] == 'v' || s[i] == 'w' ||
      s[i] == 'x' || s[i] == 'z'
   ) {
      temp += s.Substring(i, 1);
      temp += "o";
      temp += s.Substring(i, 1);
   } else {
      temp += s.Substring(i, 1);
   }
}
s = temp;
 17
Author: Guffa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 11:17:27

Ujmę to tak, jeśli masz wyrażenia regularne w swoim zestawie narzędzi, zaoszczędzisz sobie dużo czasu i energii. Jeśli ich nie masz, nie będziesz wiedział, co tracisz, więc nadal będziesz szczęśliwy.

Jako web developer korzystam z nich bardzo często (Walidacja wejściowa, pobieranie danych ze strony itp.).

EDIT: zdałem sobie sprawę, że to może pomóc spojrzeć na niektóre typowe problemy, które regex jest używany do patrząc na znacznik regex right here on stackoverflow.

 10
Author: aleemb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:45:25

Powiedziałbym, że tak.

Są tak uniwersalnie użyteczne, że jest to dość znaczące utrudnienie, aby być całkowicie bez umiejętności przynajmniej czytania i pisania prostych.

Języki obsługujące wyrażenia regularne

  • Java
  • perl
  • python
  • PHP .
  • C #
  • Visual Basic.NET
  • ASP
  • powershell
  • javascript
  • ruby
  • tcl
  • vbscript
  • VB6
  • XQuery
  • XPath
  • XSDs
  • MySQL
  • Wyrocznia
  • PostgreSQL

IDE i edytory obsługujące wyrażenia regularne

  • Eclipse
  • IntelliJ
  • Netbeans
  • żel
  • Visual Studio
  • UltraEdit
  • JEdit
  • Nedit
  • Notepad++
  • Editpad Pro
  • vi
  • emacs
  • HAPEdit
  • PSPad

Oraz nie zapominajmy o grep i sed!

Jako pracodawca, który wolałby mieć dobrego programistę, który - raz na jakiś czas - będzie musiał ręcznie znaleźć / zastąpić jakiś zestaw podobnych ciągów w tysiącach plików źródłowych i wymagać godzin lub dni, aby to zrobić, lub dobrego programisty, który-raz na jakiś czas-spędza pięć, a nawet dziesięć minut na tworzeniu regex, aby osiągnąć to samo, co działa w czasie, jaki zajmuje im pójście na kawę?

Praktyczne zastosowanie w świecie rzeczywistym w tym bardzo Odpowiedz

W rzeczywistości, użyłem regex w tworzeniu tego postu. Początkowo wymieniłem języki, które go obsługują w prozie rozdzielonej przecinkami. Następnie przemyślałem to i zmieniłem format na listę punktowaną, szukając wyrażenia (\w+), i zastępując je \n* $1 w JEdit. A im więcej doświadczenia zdobędziesz z nimi, korzystanie z nich będzie coraz bardziej opłacalne dla krótszych i krótszych zestawów działań.

 7
Author: Trampas Kirk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-23 13:20:32

Nie. Możesz programować przez lata bez dotykania wyrażeń regularnych. Oczywiście będzie to oznaczać, że w niektórych przypadkach, gdy ktoś, kto zna RE:s, użyłby ich, zrobiłbyś coś innego. Zawsze istnieje więcej niż jeden sposób rozwiązania konkretnego problemu, a wyrażenia regularne są tylko jednym sposobem (bardzo skutecznym, a być może popularnym sposobem) wyrażania wzorców.

 5
Author: unwind,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:51:35

Jeśli zależy ci na karierze inżyniera oprogramowania, to tak. Zatrudniam inżynierów oprogramowania i jeśli nie znają podstaw używania wyrażeń regularnych lub nigdy o nich nie słyszeli, to zastanawiam się, ile mają doświadczenia w całym spektrum technik programowania. Czego jeszcze nie wiedzą?

Większość powyższych komentarzy mówi "nie, możesz rozwiązać problem na inne sposoby", a także najczęściej mówią, że alternatywy są bardziej kodowane i trwają dłużej pisz... teraz pomyśl o możliwości konserwacji i jak łatwo będzie zmienić ten kod na zamówienie... Użyj wyrażenia regularnego - wtedy będzie to tylko pojedyncza linia kodu.

 4
Author: edralph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 11:13:16

Przynajmniej świadomość istnienia wyrażeń regularnych i tego, do czego mogą być używane, jest absolutną koniecznością. W przeciwnym razie będziesz w niebezpieczeństwie wynalezienia koła na nowo w wielu sytuacjach. Jeśli wiesz o ich istnieniu, możesz przejść do szczegółów, gdy będziesz musiał je zastosować. BTW, teoria wyrażeń regularnych jest dość ciekawa: -)

 3
Author: jens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:53:44

Istnieje świetna książka napisana przez Jeffreya Friedla o nazwie Mastering Regular Expressions . Dało mi to wgląd i było prawdziwą przyjemnością czytać.

Mimo, że nie używam regexów tak często, ostatnio przydały się:

  • Input: jakiś plik słownikowy CSV z jakimś luźnym formatem, wieloma tłumaczeniami, powiedzeniami itp.

  • Wyjście : ładny JSON.

  • pierwsza myśl : napisz krótki gramatyka do analizy wszystkich możliwych pól i wartości.

  • pierwsza próba: napisał gramatykę, ale były pewne szorstkie krawędzie, głównie przypadki specjalne, które wystąpiły w zaledwie 0-1% danych. Tworzenie gramatyki, która łapie wszystko, byłoby zbyt dużo projektu.
  • druga próba: użyłem prostej gramatyki chwytającej główne pola, a następnie przekazałem resztę do procedury, która zastosowała niektóre wyrażenia regularne. Było szybkie, koncepcyjnie łatwiejsze niż pełne gramatyka i zabawa w pisanie.

  • Podsumowanie : wyrażenia regularne zaoszczędziły mi wiele godzin i rzeczywiście pomogły mi zobaczyć szczególne przypadki w danych oraz jak i gdzie się pojawiły.

Czy warto się ich uczyć?Tak.

Koniecznością?Nie, ale nie znam prawie nikogo w terenie, kto by ich nie znał.

Trudno się nauczyć?Wcale nie.

 3
Author: miku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-29 03:26:49

Jednym słowem, nie.

Ale z pewnością mogą być odpowiednim narzędziem do właściwej pracy i są warte nauki dla tych operacji dopasowywania ciągów, gdzie działają najlepiej. Jednak tylko dlatego, że masz dobry, duży młotek, nie oznacza to, że powinieneś go używać do złamania każdego nakrętki.

 2
Author: Sam Meldrum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:51:43

Nie. Sam jestem okropny w wyrażeniach regularnych, a mimo to jestem złym programistą. Czekaj. Co?

Mówiąc bardziej poważnie: ja nie znam wyrażeń regularnych, ale prawie nigdy ich nie potrzebuję. Jeśli naprawdę potrzebuję, na przykład, gdy muszę zweryfikować wejście Użytkownika, jak wspomina Dave, pytam kolegę.

Istnieje więc wiele rzeczy, które warto znać / uczyć się jako programista, ale ośmielę się powiedzieć, że wyrażenia regularne nie są wcale blisko tego lista.

 2
Author: Razzie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:54:37

Właściwie, mam wrażenie, że jest to konieczność...

Na przykład, zastanawiałem się, dlaczego część naszego filmu na YouTube nie działa... i okazało się, że linki do tych filmów są

Http://ca.youtube.com/v/raINk2Ii1A4 (nie rzeczywisty URL, tylko jako przykład)

Zamiast

Http://www.youtube.com/v/raINk2Ii1A4

Inny programista wcześniej użył "substr()" do wyodrębnienia identyfikatora wideo youtube, a ze względu na ca.youtube.com część, identyfikator został wydobyty źle.

Więc moim zdaniem wyrażenia regularne są bardzo ważne i bez tego ukryte błędy można wprowadzać częściej niż zwykle.

Ale faktycznie spotkałem 3 programistów wcześniej, jeden był bardzo dobry aplikacji internetowych programista, jeden z nich uzyskał tytuł magistra nauk ścisłych (Master of Science) z prestiżowego Uniwersytetu w Dolinie Krzemowej (Silicon Valley), a drugi był magistrem na wysokim poziomie i okazało się, że wszyscy nie znali wyrażeń regularnych. To było trochę zaskakujące.

 2
Author: 動靜能量,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-04 21:37:10

Cóż, w informatyce teoretycznej jest to bardzo silny i użyteczny "sprzęt", ponieważ dzięki niemu można zdefiniować języki regularne i utożsamiać się z nim NFA lub nawet DFA, a więc udowodnić jakieś trudne twierdzenie w teorii obliczeń lub skończonej automatyzacji i dziedzinie języków formalnych. W praktycznym programowaniu jest to również bardzo przydatne, ponieważ za jego pomocą można wykonać skomplikowaną manipulację ciągiem w stosunkowo łatwy sposób.

 1
Author: Artem Barger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:53:24

Prawdopodobnie nie. Ale są one naprawdę łatwe do nauczenia się . Przynajmniej podstawy (rzeczy wszystkie silniki regex zrobić) są szybko nauczone. Nauczyłem się tego w oknie rozmowy od innego faceta w jakieś 30 minut...

 1
Author: Daren Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:53:58

Myślę, że nie jest to konieczne, ale ułatwią Ci życie i zaoszczędzą tyle czasu.

Jeśli nie wiesz, jak używać wyrażeń regularnych, nie wiesz, czego ci brakuje. Ale po prostu patrząc na osobę używającą ich do wykonania zadania sprawia, że czujesz, że jest to umiejętność, którą zdecydowanie powinieneś mieć.

 1
Author: user109623,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 10:26:46

Nie... i tak,

To jest bardzo podobne do jednego z tych pytań," powinienem nauczyć się C". Żadne wyrażenia regularne nigdy nie są jedynym sposobem, aby coś zrobić. Ale często są pomocną abstrakcją, która upraszcza kod i może (naprawdę myślę) nawet uczynić go bardziej czytelnym. Może dlatego, że kocham Mastering wyrażeń regularnych Jeffa Friedla , a może dlatego, że robię allot w pracy w Perlu. Ale z jakiegokolwiek powodu wyrażenia regularne są moim narzędziem go to tool. Teraz wydaje się łatwiej mi użyć regex niż większość innych technik manipulacji ciągiem.

 1
Author: Copas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 14:51:02

Zrozumienie przynajmniej na najniższym poziomie, czym są/mogą być wyrażenia regularne jest niezmiernie ważne. Jeśli rozumiesz pojęcia stojące za i NFA, wtedy zrozumiesz inne problemy znacznie lepiej.

Jeśli chodzi o begin dobry w wyrażeniach regularnych, powiedziałbym, że nie konieczny, ale naprawdę wartościowy. Faktem jest, że każdy silnik wyrażeń regularnych jest inny, więc nawet jeśli opanowałeś jeden z nich, możesz nie być w stanie szybko zrobić tego gdzie indziej.

 1
Author: Tom Hubbard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 20:37:46

Wyrażenia regularne są ważne przynajmniej, aby nauczyć się, jeśli nie używać.

Najpierw musisz umieć czytać i rozumieć kod wyrażeń regularnych innych osób.

Po drugie, podstawowe wyrażenia regularne odpowiadają skończonym automatom (według twierdzenia Kleene' a), co czyni je fundamentalnie ważnymi dla projektowania algorytmów.

Właściwie, istnieje Ściągawka spódnica dla dziewczyn

Http://store.xkcd.com/xkcd/#RegexCheatSkirt

Jeśli przypadkiem jesteś dziewczyno, to może być fantastyczna okazja do nauki.

 1
Author: 2 revs, 2 users 88%user108761,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-21 06:34:34

Nie, zawsze masz dwie inne opcje dla odpowiednich wymagań.

  1. Zapytaj znajomego, który zna wyrażenia regularne.

  2. Post problem na tak.

 1
Author: dkretz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-29 03:36:57

W zależności od Twojego pola istnieją pewne problemy, które nadają się do wyrażeń regularnych-a raczej odwrotnie: rozwiązanie / nie / używanie wyrażeń regularnych jest niezwykle niezgrabne. Weryfikacja adresu e-mail/Weryfikacja adresu url/minimalna Siła hasła / parsowanie daty przychodzą na myśl.

 0
Author: BuschnicK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:52:42

Nie może być. Chociaż jest przekonanie, że dobry programista powinien to wiedzieć, nie powiedziałbym tak. Kiedy nadejdzie czas i będziesz go potrzebować, po prostu go użyjesz. W każdym razie daj mu sześć miesięcy, nie używając go, a nie będziesz pamiętał żadnych opcji wyrażenia.

Jak wszystko w programowaniu, uczysz się tego, zapominasz, uczysz się na nowo.

 0
Author: User,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:53:30

Nie.

W zależności od tego, co próbujesz osiągnąć, Regex może być przydatny. Ale zaryzykowałbym, że 80% lub więcej programistów nigdy nie używa Regex, niektóre 15% lub tak tylko sporadycznie (i trzeba go wygooglować) i tylko mały % pozostałej zjadł rzeczywiście Regex Ninjas.

Znalazłem Regexr jest całkiem dobry na rzadkie okazje używam Regex.

Również, ktoś wspomni pewien cytat z jwz w ciągu najbliższej minuty lub tak...

 0
Author: Colin Pickard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 09:54:09

Wyrażenia regularne to potężny język dopasowywania wzorców. I nie ogranicza się do ciągów tekstowych. Ale jak zawsze, Twój kod, twoja decyzja.

 0
Author: Nick Dandoulakis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 10:26:46

Po prostu nie. Wszystko zależy od tego, co twój program ma osiągnąć.

Oczywiście wiedza co to jest wyrażenie regularne i podstawowe zrozumienie ich działania może być przydatne w przyszłości.

 0
Author: James Brooks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 10:39:07

Zgadzam się z innymi, że prawdopodobnie nie jest to konieczne, ale bardzo pomocne jest przynajmniej podstawowe zrozumienie. Mam ściąga RegEx opublikowany w moim cube, który uważam za bardzo pomocny. http://regexlib.com/CheatSheet.aspx

 0
Author: Tim Scarborough,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 11:37:36

Zrozumienie wyrażeń regularnych nie jest koniecznością. Jest to jednak skuteczne narzędzie do przetwarzania tekstu. Jeśli pracujesz nad projektami, które manipulują tekstem, w końcu je napotkasz.

Wyrażenia regularne niosą ze sobą wiele wyzwań, niezależnie od tego, czy ich używasz, czy tylko wspierasz kod, który je posiada. Należy pamiętać, że istnieje wiele smaków składni. Różne biblioteki i języki często mają nieco inne reguły składniowe. Wyrażenia regularne, gdyż stają się bardziej skomplikowane można łatwo przejść od prostego narzędzia do dopasowywania wzorców do kawałka magii, pisać tylko kod, który nie może być łatwo zrozumiały. Podobnie jak większość narzędzi do przetwarzania tekstu, często mogą być trudne do rozwiązania lub zmiany(np. masz narożną obudowę, która długo nie pasuje do funkcji narzędzia).

Podobnie jak w przypadku całego kodu parsującego, polecam wiele testów jednostkowych. W szczególności należy zwracać uwagę na warunki brzegowe, powtarzające się wzorce tekstu i nietypowe wejścia.

 0
Author: Jim Rush,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 12:01:04

Zdecydowanie nie, ja (jak wielu ludzi) programuję od lat, nie dotykając ich. To powiedziawszy, gdy już je poznasz, zaczynasz widzieć, gdzie mogły być przydatne w przeszłości: -)

Powiedziałbym - po prostu poczytaj o podstawach, abyś wiedział, czym są wyrażenia regularne i co możesz z nimi zrobić, a jeśli kiedykolwiek okaże się, że mogą być przydatne, możesz pobrać tutorial / stronę referencyjną jak http://www.regular-expressions.info / i wskakuj.

 0
Author: Led,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 12:02:27

Jeśli opracowujesz nowy produkt, sugeruję, abyś ich unikał, lub co najwyżej korzystał z nich oszczędnie i rozsądnie.

Jeśli utrzymujesz produkt, który już używa wyrażeń regularnych, nie masz wyboru.

Pomaga przynajmniej rozpoznać Wyrażenie regularne, więc jeśli napotkasz szczególnie zaciemniony fragment kodu, znasz odpowiedni termin wyszukiwania, aby znaleźć kartę odniesienia.

 0
Author: Alterlife,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 12:14:46

Nie bardziej niż, powiedzmy, znajomość HTML lub możliwość korzystania z relacyjnej bazy danych. Ściśle mówiąc, Nie, Nie Są one wymagane do programowania - - - mogą być niezbędne i fundamentalne w niektórych zadaniach, a jednak nieistotne w innych. Jest mało prawdopodobne, aby używać wyrażeń regularnych (lub HTML lub SQL, w tym przypadku) podczas pisania sterownika urządzenia dla nowego układu Ethernet. W swojej dziedzinie sporadycznie używam wyrażeń regularnych w kodzie produkcyjnym, znacznie częściej w skryptach ad-hoc do masażu raportów itd. Pracowałem nad jednym projektem, w którym były one główną cechą (aplikacja do analizy tekstu w formie swobodnej, aby wyszukać pewne frazy kluczowe, aby stworzyć skompilowany zestaw reguł).

 0
Author: araqnid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-20 12:34:01