タグ

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

  • 正規表現エンジンを作ろう (2)〜NFAとDFAを実装する〜:CodeZine

    はじめに こんにちは。hirataraです。 稿は、正規表現エンジン作成の第2回目です。前回は正規表現の数学的な側面を説明しました。今回は正規表現エンジンの実際の評価器となる、NFAとDFAを実装します。 対象読者 正規表現をもっと知りたい方 情報科学分野に興味がある方 正規表現エンジンを実装する必要がある方 必要な環境 サンプルはPython2.5で開発しましたが、2.4の環境でも動くはずです。 Python2.5 が動作する環境 実装する正規表現の仕様 今回から正規表現エンジンの実装に入りますが、実際に手を動かし始める前に、到達すべきゴールを明確にしておきましょう。まず、連載中に実装する正規表現の仕様を決定します。この連載では数学的な定義である3つの正規表現のみを実装し、正規表現が当にDFAと等価であり、DFAをシミュレートすることで実装できることを確かめます。 文法 これから作る

    正規表現エンジンを作ろう (2)〜NFAとDFAを実装する〜:CodeZine
    syanbi
    syanbi 2011/10/22
    この記事を見つけたのでちょっとやってみるか。
  • Island Life - O(n^2)正規表現

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - O(n^2)正規表現
    syanbi
    syanbi 2011/10/22
    Shiroさんによる正規表現エンジンの実装(参照元記事はNFAが原因とか書いてある)について原因はNFAではないということを解説しているエントリ
  • 正規表現の限界 @ Shibuya.pm

    swatmac.info Buy this domain. 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • 電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所

    Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
    syanbi
    syanbi 2011/07/07
    誰が保守すんだこれ・・・
  • GitHub - axiak/pyre2: Python wrapper for RE2

    The stated goal of this module is to be a drop-in replacement for re. My hope is that some will be able to go to the top of their module and put: try: import re2 as re except ImportError: import re That being said, there are features of the re module that this module may never have. For example, RE2 does not handle lookahead assertions ((?=...)). For this reason, the module will automatically fall

    GitHub - axiak/pyre2: Python wrapper for RE2
    syanbi
    syanbi 2010/07/24
    Pythonの正規表現ライブラリ。標準のreモジュールより何倍も高速らしい。
  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • 米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine

    Googleは3月11日、正規表現ライブラリ「RE2」を発表した。動作が高速で「スレッドフレンドリー」な点が特徴。従来のバックトラック型正規表現ライブラリの代替として開発を進めていく。 Googleによると、同社はCode SearchやSawzallといったインフラやアプリケーションで正規表現を利用しているが、バックトラックアルゴリズムを利用した従来の正規表現実装では入力データに対し処理時間が指数的に増加することが問題となっていた。また、固定サイズのスタックを持つC++のマルチスレッドプログラムの場合、従来の正規表現実装ではスタックを使い切ってスタックオーバーフローを発生させることがあったという。これらを解決するために独自の正規表現エンジンを開発したとのこと。 RE2はどのような入力や正規表現に対しても一定の小さいメモリ量で動作するように開発されているのが特徴。オートマトン理論の下、処

    米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine
  • PCREはUnicode文字プロパティをサポートするとは限らない - hnwの日記

    (2011/05/19追記)CentOS5のpcreパッケージについて言えば、2010年7月以降Unicode文字プロパティが有効になっているそうです。安心ですね!(via「 CentOS5.5でCakePHP1.3系のInflector::slugを正常動作させる方法 - Lism.in * blog - nekoya (id:studio-m)」) PCREというのは、Perl互換の正規表現ライブラリです。PCREは例えばPHPのpreg系関数で利用されていますし、他の処理系でも多く利用されているかと思います。ところで、PCREの挙動は環境ごとに異なる可能性があることをご存知でしょうか。具体的には、Unicode文字プロパティをサポートする環境としない環境とがあり、同じ正規表現でも挙動が変わることがあります。僕はそんなことを考えた事もなかったので、ビックリしました。 同じ原因で、以前の

    PCREはUnicode文字プロパティをサポートするとは限らない - hnwの日記
  • 1