https://sd.blackball.lv/en/articles/read/19161-csharp-regex-from-zero-to-hero-guide?tag=dotnet