正規表現は、テキストを処理するための強力で柔軟で効率的な方法を提供します。 正規表現の広範なパターンマッチング表記により、大量のテキストをすばやく解析して次のことが可能になります。 特定の文字パターンを見つけます。 テキストを検証して、事前定義されたパターン (メール アドレスなど) と一致することを確認します。 テキスト部分文字列の抽出、編集、置換、または削除を行う レポートを生成するために、抽出された文字列をコレクションに追加します。 文字列を扱う、または大きなテキスト ブロックを解析する多くのアプリケーションでは、正規表現は不可欠なツールです。 正規表現のしくみ 正規表現を使用したテキスト処理の中心となるのは、.NET の System.Text.RegularExpressions.Regex オブジェクトによって表される正規表現エンジンです。 少なくとも、正規表現を使用してテキス

正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用しているPCRE や mb_ereg 関数が利用している鬼車です。Perl やRuby、Python、Java、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く