Deep Dive into RegEx with Stephen Toub

Sdílet
Vložit
  • čas přidán 15. 06. 2024
  • Scott and Stephen are back with another deep dive into C# and .NET features. This time is RegEx, everyone's favorite powerful magical strings that you can never figure out how to exactly get write. Stephen breaks down every bit that you need to know about RegEx in .NET.
    Chapters:
    00:00:00 Understanding and Utilizing Regular Expressions in Software Development
    00:04:36 Deep Dive into Regular Expressions in Visual Studio
    00:11:22 Understanding Regular Expressions and Their Applications
    00:17:20 Understanding the Interpretation and Implementation of Regular Expressions in Programming
    00:18:22 Understanding the Process of Programming: Interpretation and Compiling
    00:23:48 Exploring New Engine Features in .NET 7
    00:26:49 Understanding the Role and Functionality of Source Generators in the C# Project
    00:31:33 Understanding the Role and Functionality of Source Generators in Programming
    00:33:23 Discussing the Functionality and Evolution of Source Generators in C#
    00:37:03 Discussing Testing and Debugging Regular Expressions
    00:40:08 Understanding the Algorithmic Process of Matching Patterns
    00:42:28 Understanding the Complexity and Backtracking in Linear Programming
    00:43:30 Understanding the Complexity and Efficiency of Regular Expressions
    00:50:29 Exploring the Efficiency and Limitations of Regex Engines in Web Development
    00:54:24 Discussion on Regex Implementation and Caching in Programming
    00:57:58 Exploring the Implementation and Best Practices of Regular Expressions in Application Development
    01:02:39 Understanding the Use of Search Values in .NET 8 and its Optimization
    01:04:31 Understanding the Internals of Regex Programming
    Resources:
    Docs: learn.microsoft.com/dotnet/st...
    Connect with .NET:
    Blog: aka.ms/dotnet/blog
    Twitter: aka.ms/dotnet/twitter
    TikTok: aka.ms/dotnet/tiktok
    Mastodon: aka.ms/dotnet/mastodon
    LinkedIn: aka.ms/dotnet/linkedin
    Facebook: aka.ms/dotnet/facebook
    Docs: learn.microsoft.com/dotnet
    Forums: aka.ms/dotnet/forums
    🙋‍♀️Q&A: aka.ms/dotnet-qa
    👨‍🎓Microsoft Learn: aka.ms/learndotnet
    #dotnet #csharp #regex
  • Věda a technologie

Komentáře • 71

  • @HTSCoding
    @HTSCoding Před měsícem +34

    We need more. Please a deep dive on Expression and Expression Trees !

  • @djchrisi
    @djchrisi Před měsícem +8

    This is really gold. I would appreciate a deep dive into reflection.

  • @weneedlittlepatience
    @weneedlittlepatience Před měsícem +73

    Could we get a Span from scracth? 👀

    • @Kitulous
      @Kitulous Před měsícem

      yes please!

    • @shanselman
      @shanselman Před měsícem +56

      Yep. Soon

    • @weneedlittlepatience
      @weneedlittlepatience Před měsícem +10

      @@shanselman keep cooking my man, insane duo.

    • @neonmidnight6264
      @neonmidnight6264 Před měsícem +1

      That would be just readonly ref struct Span { readonly ref T reference; readonly int length; }. All the heavy lifting is done by VM/GC to track such pointers (byrefs) and correctly handle the differences when they point to object interiors, stack or unmanaged memory. It's quite a bit low-level, though I suppose you could emulate it with ArraySlice-style structure...

    • @shanselman
      @shanselman Před měsícem +3

      @@neonmidnight6264not exactly

  • @rudreshgp
    @rudreshgp Před měsícem +8

    Thank you Stephen Toub and Scott Hanselman for these videos.
    Even with such a busy schedule you're teaching us.

  • @johndonaldmelville
    @johndonaldmelville Před měsícem +11

    Loving the Hanselman + Toub collaboration. I agree this one was much more user focused than the others. I still love seeing under the covers of c#. I would recommend span and ref structs for a future episode.

  • @marklord7614
    @marklord7614 Před měsícem +29

    Loving this series so far and very useful topics being covered.

  • @talkalderon9752
    @talkalderon9752 Před měsícem +17

    Will really like to hear Deep Dive AsyncLocal

  • @--Eric--
    @--Eric-- Před měsícem +5

    Thanks again, Stephen and Scott, great as usual. 👍🏼
    I'm very happy that you don't use a dark theme, and also that you use a big zoom factor. 👍🏼👍🏼
    I can hardly wait for the next episode, thank you. 👏🏼

  •  Před měsícem +1

    I didn't think a session about regex could become so interesting. I'm glad I clicked to start playing. Thanks for the series! It's been awesome!

  • @christopherserrao4566
    @christopherserrao4566 Před měsícem +6

    A deep dive session on SIMD please.

  • @burndasbr
    @burndasbr Před měsícem +3

    Please do an episode where you implement a Source Generator.
    They're so cool, but there isn't that much deep diving yet easy to understand content about it.

  • @aimafirm
    @aimafirm Před měsícem +1

    Thanks so much for this series! What a dream team here, plus most relevant topics.

  • @adamliedloff5409
    @adamliedloff5409 Před 22 dny

    Thank you Scott and Stephen. Simply the best series of code videos I’ve seen. Love the choice of topics. I use them all, but still had an underlying fear that I didn’t really understand them and wasn’t using them correctly. All now totally demystified and I’m going back through code to clean it up. Oh, that feeling of clean code with no niggling gremlins lurking.

  • @LasseVagstherKarlsen
    @LasseVagstherKarlsen Před měsícem +3

    I would be interested in a discussion around Span, and why, as an example, it can't be stored on the heap. Not a 1 hour talk though, but perhaps as part of a bigger topic. Maybe a deep dive on the garbage collector would be an idea.
    In any case, thank you both so much for this series of videos, keep churning them out as fast as you can, I've learned something new from all of them so far and to the level you guys are taking it, I'm sure I will learn something from every one you release, so keep'em coming.

    • @shanselman
      @shanselman Před měsícem

      Span is next

    • @LasseVagstherKarlsen
      @LasseVagstherKarlsen Před měsícem

      @@shanselman Oh you’re such a tease, you can’t just throw that out there well ahead of the video. Looking forward to it!

  • @vanlangen
    @vanlangen Před měsícem +1

    What a brilliant concept to create a C# code file rather than using reflection.emit. By allowing the compiler to optimize code execution before it's statically integrated into the binary, as opposed to compiling it at runtime, efficiency is significantly enhanced. This capability is exclusive to constant regex strings, as they are transmitted as attributes.

  • @MatteoGariglio
    @MatteoGariglio Před měsícem +1

    Very very valuable series of videos. Thanks for organizing it and share this content.

  • @TodorTsankov-vz3sd
    @TodorTsankov-vz3sd Před měsícem +1

    What a great way to finish the day 🤩

  • @mehmetck
    @mehmetck Před měsícem +2

    This series should be C# 101 learning library. I hope we ll see more content like this. Thanks for your time Stephen and Scott you are rock.

  • @Dustyy01
    @Dustyy01 Před měsícem +2

    Finally a new Episode! 🎉

  • @hashdynamics978
    @hashdynamics978 Před měsícem +1

    I love Stephen. Great content.

  • @imranhussain8700
    @imranhussain8700 Před měsícem +3

    Friend: Which Series are you watching these days?
    Me: Deep Dot Net.

  • @alecclews
    @alecclews Před měsícem

    Fun thing. I learned how to use Regex by reading the ME editor manual that came with MS C/C++ 5.1 (that was the late 80's). Roll on 40 years and in my last job I was considered a mage because I could do regex (our product exposed the Java RE engine for config settings).
    The support team worshipped me 🙂

  • @obinnaokafor6252
    @obinnaokafor6252 Před měsícem +1

    Another amazing talk. Please could you invite Tanner Gooding to talk about Tensors and ML libraries, Intrinsics, Numerics and Math Libries? ❤❤

  • @jarosawfrankowski7845
    @jarosawfrankowski7845 Před měsícem

    Great content!

  • @eddypartey1075
    @eddypartey1075 Před měsícem +1

    God bless these vids

  • @leknyzma
    @leknyzma Před měsícem +5

    kid in the background feels the regex :D

  • @SteveCatLover
    @SteveCatLover Před měsícem +1

    I’d love to see a deep dive on dependency injection!!

  • @asedtf
    @asedtf Před měsícem +45

    The plural of regex is regrets

  • @mrqbboy
    @mrqbboy Před měsícem

    Thanks again, Guys.

  • @secvbulrep
    @secvbulrep Před měsícem

    U r the best!

  • @yogibarista2818
    @yogibarista2818 Před měsícem +2

    A regex for email address that meets all of the various RFCs that can apply, is basically so ridiculous as to be impossible.

  • @leroyvan7357
    @leroyvan7357 Před měsícem

    thanks you

  • @gordonbeeming
    @gordonbeeming Před měsícem

    Great video, I've not seen a deep dive this way into Regex before... almost feels like it's not that deep from the journey being "structured" so well

  • @pylvr8021
    @pylvr8021 Před měsícem

    More Stephane please

  • @MAMW93
    @MAMW93 Před měsícem +3

    the kids playing in the background made it tougher to follow. love kids.. can't pay attention to both lmao

  • @GuildOfCalamity
    @GuildOfCalamity Před měsícem +2

    Toub is the best guest by far. But, can we dark theme for the love of all that is holy?

  • @fluffydoggo
    @fluffydoggo Před měsícem

    We need regex for replacing. I find so many instances where I need to capitalize the first letter when replacing text

  • @egvijayanand
    @egvijayanand Před měsícem

    reg. Regex Groups, the Zeroth group is always the complete match, whether or not parentheses are used.

  • @__angle
    @__angle Před měsícem

    🥰

  • @yonatan2608
    @yonatan2608 Před 20 dny

    @dotnet It's really upsetting when you're stopping weekly videos!

  • @DestinationDub
    @DestinationDub Před měsícem

    Another amazing video but I still can't do regex!

  • @guiorgy
    @guiorgy Před měsícem +1

    19:54 well technically 6 bytes

  • @Cryogenic1981
    @Cryogenic1981 Před měsícem +3

    Please keep the content over 300. This is like a roller coaster from 400 to 50 level multiple times a minute.

  • @troncek
    @troncek Před měsícem

    That's all great and all, but dark mode please. :0

  • @jimiscott
    @jimiscott Před 29 dny

    You have a problem which needs to be solved through Regex - now you have two problems.

  • @alexisfibonacci
    @alexisfibonacci Před měsícem

    Primeagen says "squeal"....

  • @mar_sze
    @mar_sze Před měsícem +3

    Love these videos, but for a series called "deep dive" a lot of it seems to be targeted at beginners.

  • @Kitulous
    @Kitulous Před měsícem +10

    when Stephen says "we" about creating C# or .NET I always think that he single handedly created C# and .NET

    • @asedtf
      @asedtf Před měsícem

      Royal Performance We

    • @chrisnuk
      @chrisnuk Před měsícem +3

      Imagine writing something this amazing and knowing that 99.99% of people who use it won't know how good it is AND they probably won't need to 😮