タグ

Softwareと正規表現に関するItisangoのブックマーク (2)

  • .NET の正規表現 - .NET

    正規表現を使用すると、強力、柔軟、そして効率的な方法でテキストを処理できます。 正規表現によるパターン一致の広範な表記法を使用すると、大量のテキストをすばやく解析し、次のことを行うことができます。 特定の文字パターンを検索する テキストを検証して、定義済みのパターン (電子メール アドレスなど) と一致することを確実にする テキスト部分文字列の抽出、編集、置換、または削除を行う 抽出された文字列をコレクションに追加して、レポートを生成する 文字列処理や大量のテキストを解析する多くのアプリケーションにとって、正規表現は欠くことのできないツールです。 正規表現のしくみ 正規表現を使ったテキスト処理の最も重要な部分は、.NET の System.Text.RegularExpressions.Regex オブジェクトによって表される正規表現エンジンです。 正規表現を使ったテキスト処理では、正規表

    .NET の正規表現 - .NET
  • パフォーマンスを意識して正規表現を書く - Shin x Blog

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

    パフォーマンスを意識して正規表現を書く - Shin x Blog
  • 1