タグ

正規表現に関するsharaku3eyesのブックマーク (3)

  • 正規表現 - SMART 開発者のためのウェブマガジン

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 - SMART 開発者のためのウェブマガジン
  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

  • (高速に)Apache の log を解析する正規表現(追記あり) : a++ My RSS 管理人ブログ

    ※(多分)最終バージョンはこちらです。 ⇒[ぴ] - Apache Combined Log を効率的にパースする正規表現メモ , Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05) ※ベンチマークありがとうございました。 ネタ的には既出なんですが・・・ Ref: [ぴ] - Apache Combined Log を効率的にパースする正規表現メモ グーグル先生でよく教えてもらえる正規表現というのがありまして、 !^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"! これ、使ってみると 1万行解析するのに 7.617 秒かかりました。ありえない。(Let's note T5 / CentOS) で、バックトラックかからないよう、例えばこんな感じに適当に変更: !^([^\s]*) [^

  • 1