[48] (C#) Regular expressions

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024
  • Wyrażenia regularne. Brzmi mądrze, co? Chciałbyś się ich nauczyć? No to koniecznie obejrzyj ten odcinek!
    W odcinku tym nauczysz się języka wyrażeń regularnych, zobaczysz jak definiować podstawowe wyrażenia oraz poznasz użycie klasy Regex w C#.

ความคิดเห็น • 32

  • @karimmessaoud8223
    @karimmessaoud8223 4 ปีที่แล้ว

    Dziękuję za przystępne wytłumaczenie podstaw wyrażeń regularnych.

  • @MIkimak00
    @MIkimak00 4 ปีที่แล้ว +4

    w 14:56 chyba powinno być "(www\.)?", a tak poza tym to świetny materiał :)

  • @ElektroROBBIT
    @ElektroROBBIT 3 ปีที่แล้ว

    Ziomeczku świetny materiał!

  • @marcinbiaecki9731
    @marcinbiaecki9731 5 ปีที่แล้ว

    Dzięki :)

  • @lechkrawczyk5431
    @lechkrawczyk5431 5 ปีที่แล้ว +4

    Masz dar tlumaczenia. Zaloz kanal anglojezyczny a bedziesz mial tysiace wyswietlen.

    •  5 ปีที่แล้ว +2

      Wystarczającą przyjemność daje mi ten kanał :)

  • @Banana-bv4qs
    @Banana-bv4qs 5 ปีที่แล้ว +1

    13:46
    Ale po co tam ten daszek z przodu skoro i tak może tam być dowolna ilość dowolnych znaków?

    •  5 ปีที่แล้ว +1

      "Daszek" z przodu faktycznie nie jest wymagany, bo kwantyfikator "^" i tak jest zachłanny i dopasuje maksymalną możliwą liczbę znaków. Dodanie "daszka" może optymalizować wyszukiwanie, bo dopasowany podciąg może zaczynać się tylko w jednym miejscu. Dość mocno ogranicza nam to zbiór rozwiązań.
      Dodanie "daszka" z przodu jest też informacją dla nas. Dzięki niemu dużo lepiej widzimy, że potencjalne rozwiązanie na pewno będzie rozpoczynało się na początku ciągu.
      Co ciekawe, do sprawdzenia w ogóle moglibyśmy użyć tylko "\.txt$", jednak żeby dopasować takie nazwy już to nie wystarczy.

  • @normalnyczowiek3928
    @normalnyczowiek3928 5 ปีที่แล้ว +1

    Muzyczka z początku przypomina mi pewien utwór autechre

    •  5 ปีที่แล้ว +1

      Niestety nie znam :(
      Ja użyłem kilku początkowych sekund utworu dostępnego w bibliotece TH-cam na otwartej licencji :)

  • @kristofers87
    @kristofers87 2 ปีที่แล้ว

    15:20 powinno być (www\.)? zamiast (www.)?

  • @YooBro1000
    @YooBro1000 5 ปีที่แล้ว +1

    jak zanegować ? czyli jak zaznaczyć wszystko oprócz wyrażenia regularnego ?

    •  5 ปีที่แล้ว +1

      No i to jest już dłuższy temat. Najpierw zdefiniujmy negowanie wyrażenia regularnego.
      No bo co tam naprawdę znaczy, że chcemy zanegować wyrażenie "a{3}"? Chcemy mieć litery "a", ale nie dokładnie 3? A może chcemy mieć dokładnie 3 znaki, ale nie "a"? A może chcemy wszystkie słowa, które nie zawierają ciągu "aaa"? Nie istnieje bezpośrednia definicja. Dlatego posiadamy różne negacje dla wyrażeń regularnych.
      Jeżeli nie chcemy litery "a", to wyrażenie takie zapiszemy jako "[^a]". Jeżeli nie chcemy mieć ciągu "aaa" wewnątrz słowa, użyjemy wyrażenia "^((?!a{3}).)*$" (w tym przypadku ?! jest operatorem negacji).
      Jeżeli jednak posiadamy jakieś wyrażenie i chcemy sprawdzić, czy dany string do niego NIE pasuje, możemy sprawdzić dopasowanie, które następnie zanegujemy:
      Regex reg = new Regex("a{3}");
      bool niePasuje = !(reg.IsMatch(sprawdzaneSlowo));
      Jeżeli jesteś zainteresowany tematem wyrażeń regularnych, to bardzo polecam stronę: www.regextester.com
      Można na niej na ten temat wiele się nauczyć oraz przetestować swoje wyrażenia regularne.
      Mam nadzieję, że taka odpowiedź Cię satysfakcjonuje :)

    • @YooBro1000
      @YooBro1000 5 ปีที่แล้ว

      @ Dzięki

  • @capitanprice2912
    @capitanprice2912 5 ปีที่แล้ว +1

    Ile planujesz odcinków z wyrażeń regularnych?

    •  5 ปีที่แล้ว +1

      Szczerze mówiąc planowałem tylko jeden.
      Jest jakieś zagadnienie z wyrażeń regularnych, które chciałbyś jeszcze poznać?

    • @capitanprice2912
      @capitanprice2912 5 ปีที่แล้ว +1

      Maszyna Licząca Widzę że stosunkowo rzadko wrzucasz filmiki, podejrzewam że wynika to z braku czasu więc (pewnie nie tylko ja) wolałbym abyś nie tworzył tych filmików na siłę gdyż boję się o ich jakość. Zauważyłem zresztą że na polskim TH-cam jest mało dobrych kompletnych kursów C#. Także życzę powodzenia w dalszym tworzeniu kursu.

    •  5 ปีที่แล้ว +1

      Nie tworzę na siłę. Bardzo lubię wydawać nowe odcinki bo mi też pomaga to przypomnieć i utrwalić sobie pewne rzeczy. Niestety brak czasu dość mocno mnie ogranicza, ale uwierz - tworzę nowe odcinki z wielką przyjemnością i staram się ich tworzyć więcej. Niestety z różnym skutkiem :)

    • @capitanprice2912
      @capitanprice2912 5 ปีที่แล้ว +1

      Maszyna Licząca To super a można wiedzieć jak i gdzie nauczyłeś się programować oraz jeśli to nie jest żadną tajemnicą czym zajmujesz się obecnie?

    •  5 ปีที่แล้ว

      Odpowiedź na oba pytania to: studia.
      A tak poważnie - zaczynałem w liceum od oglądania i czytania poradników, potem studia dały mi dużo wiedzy teoretycznej, a teraz realizuję różne projekty, czytam książki o programowaniu oraz prowadzę kanał Maszyna Licząca :)

  • @KoW
    @KoW 5 ปีที่แล้ว +1

    To Ty nagrywasz jeszcze :D

    •  5 ปีที่แล้ว +1

      No pewnie, że nagrywam! Dość wolno mi to idzie, wiem. Ale nagrywam i nagrywać będę! :)

    • @KoW
      @KoW 5 ปีที่แล้ว +3

      Tak trzymaj, ja dzięki Twoim poradnikom też nagrałem całkiem obszerny kurs C i C# na kanale ;)

    • @nextnext1013
      @nextnext1013 5 ปีที่แล้ว +1

      Ja liczę bardzo na filmy o dziedziczeniu, polimorfizmie i interfejsach, niestety dalej nie czuję się w tym pewnie, a jak Ty coś wytłumaczysz, to już nie ma opcji, żeby tego nie zrozumieć. :)

    •  5 ปีที่แล้ว +1

      Niedługo przejdziemy do programowania obiektowego, a tam to wszystko będzie :)

    • @nextnext1013
      @nextnext1013 5 ปีที่แล้ว +1

      No to rewelacja! Czekam zatem. :)

  • @piokoc5661
    @piokoc5661 5 ปีที่แล้ว

    ale czy w zapisie (www.)? nie powinno być (www\.)? -przecież szukamy znaku . a nie dowolnego znaku.

  • @Banana-bv4qs
    @Banana-bv4qs 5 ปีที่แล้ว

    Intro ze starego kanału było lepsze :v

    •  5 ปีที่แล้ว

      Hmmm... No to może czas tutaj też jakieś intro stworzyć... pomyślę nad tym :)

  •  2 ปีที่แล้ว

    Przecież w systemie hex istnieje coś takiego jak 000000 jest to kolor czarny wyrażony w hex