正規表現(regex)はテキストに対する柔軟な検索を実現する極めて強力なツールである。.NETでは.NET Framework 1.1の頃から正規表現をサポートしており、.NET 5では大部分の実装の改善と最適化を行ったRegexクラスが導入されている。Microsoftは2022年11月にリリースされる.NET 7ではこの取り組みをさらに進め、パフォーマンスの向上と大幅な機能強化に取り組んでいるという。.NET Blogの5月12日の記事で、.NET 7における正規表現の強化に関する詳細な解説が掲載されている。
.NET 7における正規表現における主な拡張点としては、次のようなものが挙げられている。
- バックトラックの改善およびバックトラックを行わないNonBacktrackingオプションの追加
- 大文字と小文字を区別しないマッチングの改善
- コンパイル時に正規表現のソースコードを生成するRegex Source Generatorの追加
- 一部のAPIでSpanの入力がサポートされる
- ベクトル化の強化
- 自動アトミシティ(自動的なアトミックグループへのアップグレード)の強化
- Setの最適化
それぞれの項目に関する詳細は、.NET Blogの記事で解説されている。現在で公開されている情報は.NET 7 Preview 5時点のものとのことだが、.NET 7のリリースまでにはまだしばらく時間があるため、さらなる改善やパフォーマンスの向上が実施される可能性も示唆されている。
.NET 7のプレビュー版は次のサイトから入手することができる。本稿執筆時点では、2022年5月10日にリリースされた.NET Preview 4が最新版となっている。