タグ

regexpに関するmhrsのブックマーク (14)

  • M17N | M17N Online

    mhrs
    mhrs 2007/06/21
    Emacs 21を落とす正規表現。regex.cのバグらしい。migemoを使ってゐると特定の檢索語でEmacsが落ちるのはこれが原因。Emcas 22では修正濟。
  • Emacs で正規表現を使うなら re-builder を使おう - higepon blog

    Emacs で正規表現を使うならば re-builder を使うことをおすすめします。 例えば、正規表現を良く使うシチュエーションとして置換があります。 M-x replace-regexpで置換対象文字列を正規表現で指定し、何に置換して欲しいかを指定するわけです。 行頭に // を追加してソースをコメントアウトしたいのであれば M-x replace-regexp Replace regexp: ^ ← ^ を入力 Replace regexp ^ with: // ← // を入力のように置換をします。(この場合は、comment-region が最適解ですが) 例に挙げたような簡単な正規表現であれば、間違いようもなく問題ないのですが、ちょっと複雑な置換になると話は変わります。 以下のようなコードがあるとしましょう。 byte* buf = new byte[32]; unsigned

    Emacs で正規表現を使うなら re-builder を使おう - higepon blog
    mhrs
    mhrs 2007/02/13
    正規表現を入力しながらマッチする文字列をリアルタイムに確認出來る「re-builder」の紹介。
  • 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はフ

  • http://www.interq.or.jp/student/exeal/dss/ref/jscript/object/regexp.html

    mhrs
    mhrs 2006/07/04
    デッドリンク(2006-09-01確認)
  • 正規表現 HOWTO

    当サイトの文書・画像等のコンテンツの著作権は、各コンテンツの作成者、もしくは日Pythonユーザ会に帰属します。 また、日Pythonユーザ会はサイト内のコンテンツに他のプログラミング言語からの乗り換えを誘発する恐れのある表現が多々あることを認め、予めお詫び申し上げます。

    mhrs
    mhrs 2006/06/16
    「Python の re モジュールを用いた、正規表現の入門者向けチュートリアル」
  • Perlメモ

    複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに

    mhrs
    mhrs 2006/05/30
    「HTMLタグの正規表現」とか。
  • Python reモジュールで使える正規表現演算子

    ドキュメントは Pythonのライブラリマニュアルlibre.texの内容を 元にして作成されています。 正規表現の構文 正規表現(RE)は、それにマッチする文字列の集合を特定します。モジュール 中の関数は、特定の文字列が与えられた正規表現にマッチするかどうか(あるい は与えられた正規表現が特定の文字列にマッチするかどうか)を検査します。 新しい正規表現を構築するために、正規表現を連結することができます。A と Bの両方が正規表現であるとき、AB もまた正規表現です。あ る文字列 pがAにマッチし、別の文字列 qがBにマッチするので あれば、文字列 pqはABにマッチします。したがってここで説明したよ うに、複雑な正規表現は単純な正規表現から簡単に構築することができるので す。正規表現の理論と実装に関する詳細は、後述するFriedl のを参照するか、 コンパイラー作成に関する教科書を

  • http://www.axis.t.u-tokyo.ac.jp/~shunak/memo/regc.html

    mhrs
    mhrs 2005/12/30
    デッドリンク(2006-10-10確認)。「ある文字列を含まない行にマッチする正規表現をPOSIX準拠で」作るJavaScript。
  • Perl の正規表現のFAQやTIPS等

    正規表現の外側にコメントを付ける 通常のPerlのコメントを使って、あなたが何を、どのようにしているかを説明します。 # 行を、その最初の単語、コロン、行の残りの文字数に # 変換します s/^(\w+)(.*)/ lc($1) . ":" . length($2) /ge; 正規表現の内側にコメントを付ける /x 修飾子は、正規表現中にある空白を無視するようにし、 (キャラクタクラスの中にあるものを除く)、通常のコメントが使えるようにします。あなたの想像できるように、空白とコメントは非常に助けに なります。

  • Perl の正規表現のチュートリアル

    NAME DESCRIPTION Part 1: The basics Simple word matching Using character classes Matching this or that Grouping things and hierarchical matching Extracting matches Matching repetitions Building a regexp Using regular expressions in Perl Part 2: Power tools More on characters, strings, and character classes Compiling and saving regular expressions Embedding comments and modifiers in a regular expre

  • 正規表現メモ

    \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

    mhrs
    mhrs 2005/05/25
    樣樣な言語やソフトでの正規表現演算子の一覽。「各正規表現演算子の説明」もあり、便利。
  • Emacs Lisp

    正規表現は難しい。 でも、Emacs Lisp の正規表現はもっと難しい。 ここでは Emacs Lisp で正規表現を書くプログラマを混乱させる落とし穴についてまとめる。 バックスラッシュ Perl では、バックスラッシュに合致する正規表現を次のように書く。 '\\' しかし、Emacs Lisp では以下のように書かなければならない。 "\\\\" Emacs Lisp の正規表現が嫌いになる理由はこれだけで十分だ。 しかし、なぜこんなにもバックスラッシュが必要なのだろう? それは、Perl が「リテラル」として正規表現を記述するのに対し、 Emacs Lisp では「文字列」として表記するからである。 Emacs Lisp の関数呼び出しでは、 各引数が「評価」されてから関数に利用される。 もちろん、引数として与えられた文字列も利用前に評価される。 (message "a\tb")

    mhrs
    mhrs 2005/05/14
    “Emacs Lispで正規表現を書くプログラマを混乱させる落とし穴について”
  • Perl正規表現雑技

    このページは Perl5.6 を対象としています. perl スクリプトは EUC-JP で書かれることを想定しています. このページは 正規表現メーリングリスト を参考に,私が独自にメモとしてまとめたものです. このページの正規表現やスクリプトについての詳しい説明, わかりやすい説明はおそらくできません. このページに書かれているスクリプトは, 個人の責任において実行してください. このページに書かれているスクリプトの 利用・改造は自由 です. その際はどこかにこのページの URI( http://www.din.or.jp/~ohzaki/regex.htm )を参考として記述していただければ幸いです(任意). ご意見・ご感想・ご要望などは にお願いします.こう書いた方がいい, 動かん,わからん,バグってる,これ書け,などなどお待ちしています. このページへの リンクは自由 に張ってく

    mhrs
    mhrs 2005/05/12
    正規表現のレシピ集。
  • Rubyのある風景 - Regexp Lookahead

    正規表現の中でも影の薄い先読みですが、使いようによっては非常に強力な道具になります。 数字を三桁ごとに区切ってコンマを挿入したい場合を考えましょう。 例えば"1234567890"という文字列を"1,234,567,890"に置換したいわけですね。 結論から言うと、これを行うには以下のようにします。 text = "1234567890" puts text.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, '\1,') おそらく訳が分からないと思いますので、順を追って説明していきましょう。 まずおさえておいてほしいことは「先読みは文字列がマッチしているかどうかは調べるけれども、マッチポインタは進めない」ということです。 もし上の例で、先読みを用いずにtext.gsub(/(\d)(\d\d\d)+/, '\1,')と置換しようとしたとしましょう。 すると、最初の(\d)が"

    mhrs
    mhrs 2005/05/08
    正規表現の先讀みと否定先讀みについての解り易い説明。
  • 1