タグ

regexに関するvndnのブックマーク (6)

  • Narcissus の正規表現: Days on the Moon

    「前のエントリで書き忘れてた - 最速チュパカブラ研究会」にて、Narcissus で使われている正規表現が参考になるという話が出ています。 文字列リテラル /^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/ 正規表現リテラル /^\/((?:\\.|[^\/])+)\/([gimy]*)/ コメント /^\/(?:\*(?:.|\n)*?\*\/|\/.*)/ 一流の人が書いたものを使いましょうというのに異を唱えるつもりはありませんが、そのままコピー & ペーストしていては意味がありません。ここはやはり一文字一文字心をこめて写経しましょう……ではなく、どうしてその書き方でうまくいくのかをきちんと考えた上で使いましょう。 文字列リテラルにマッチする正規表現 上記の文字列リテラルを表す正規表現から、一重引用符でくくられた文字列にマッチする部分だけを抜き出すと '(?:[^

  • Latest topics > 正規表現のパターンを得るためのアルゴリズム - outsider reflex

    Latest topics > 正規表現のパターンを得るためのアルゴリズム 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « XUL/Migemo [Forked Edition] 0.4.0、もはや別物 Main XUL/Migemo使い方チュートリアル » 正規表現のパターンを得るためのアルゴリズム - Dec 02, 2006 XUL/Migemoの動作の中で一番のネックになっているのは「辞書から正規表現のパターンを生成する」処理だそうで、そのために、家XUL/Migemoでは200KB近いキャッシュファイルまで用意されていた。plus7さんの環境では一文字のパターンに対するキャッシュを生成するのに14秒もかかった(その間Mozillaはフ

    vndn
    vndn 2006/12/02
  • Pythonの正規表現

    Pythonの正規表現 「朔最新版」に寄せられたネタ。 http://~ が10回以上現れたらスパムと判定するような正規表現を書くとき、 (.+? http\:\/\/){10}.+? と書くとCPU負荷がすごいことになります。 (http://.+){10} と書くと普通です。 .+ が左側にあるのが駄目なのかな。 BNFだと左再帰とか右再帰とかあって、 うまく書かないと無限ループに陥るんですけど、 正規表現でもそんな感じの問題があるんですね。 原理的にはBNFの話とは違うと思いますが。 2006-07-15 23:55:04 コメントする この記事へのリンク

  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
    vndn
    vndn 2006/06/20
  • perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found

    2006年06月16日00:00 カテゴリLightweight Languages書評/画評/品評 perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... 正規表現においては、/a|b|c/(alteration)は[abc](character class)にすべし、というのは、perlに限らない常識です。 Mastering Regular Expression Jeffrey E. Friedl [邦訳: 詳説 正規表現] qootas.org/blog - perl regex performance"|"(パイプ)を使った正規表現はめちゃくちゃ遅いから使わないように、ということです。確かにベンチマークを取ると32倍速いです。 どうせならPerl自身が内部で/a|b|c/を[abc]にしてくれたらと思ったことありませんか? 少なくとも、正規表現を仕事で使う

    perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found
  • EUC の正規表現 - Ceekz Logs (Move to y.ceek.jp)

    最近は、ニュース検索に新たな機能を追加しようと試行錯誤しています。 EUC の文字列が文字化けしていないかどうかをチェックする必要がありました。チェック自体は難しくなく、単に EUC の範囲外の文字が含まれているかどうかを調べればよいのです。 EUC の 1byte 文字は、以下のように表現することが出来ます。というか、すべての ASCII 文字 はこれ。 [\x00-\x7F] しかし、よくよく考えると、この表現には制御文字も含まれているんですよね。なので、このままマッチさせると文字化けを発見することが出来ないわけです。なので、制御文字を除いてマッチさせるのが吉だと思う。 [\x20-\x7E] ということで、僕は、以下のように定義して文字化けが無いかどうかを調べています。 $euc = '[\x20-\x7E]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-

  • 1