タグ

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

  • Pythonでの正規表現の簡単なまとめ - minus9d's diary

    Pythonでの正規表現の使い方を勉強した。Perlの正規表現とパターンの書き方はほぼ同じのようだけど、その他の部分はかなり違っている。あまり良いページが見つけられなかったので、正規表現 HOWTO — Python 3.3.3 ドキュメントを読んで簡単にまとめた。 この記事の想定読者は、他言語で正規表現を扱ったことのある人。したがって正規表現のパターンの書き方についてはこの記事の対象外。正規表現のチュートリアル的な記事が読みたければ、Python3なら正規表現 - Dive Into Python 3 日語版、Python2ならChapter 7. Regular Expressions(英語)が良いと思う。 基 re.compile()を用いて、あらかじめ正規表現のパターンをコンパイルする。例えば、「3で始まり7で終わる最短の文字列」を探すためのパターンは以下のように書ける。 文字

    Pythonでの正規表現の簡単なまとめ - minus9d's diary
  • プログラミング言語における正規表現リテラルの必要性について

    Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

  • 字句解析 - Wikipedia

    トークンは字句解析する段階では、プログラムの要素としての妥当性は必ずしも考慮されない。例えば上記の例で sum は、もしこの文の前にsumが宣言されていなければ意味がないが、字句解析器は通常トークンとしては問題ないとして扱う。 一方、数リテラルの値が、そのプログラミング言語で扱えるいかなる型がサポートする範囲よりも大きい値が書かれている場合は、最初からエラーにすることもある。 [注釈 1] 字句解析器[編集] スキャナ[編集] 一般に、文字列をなめるような処理をするものをスキャナという。字句解析の場合、文字列から、1個のトークンになるような部分文字列を切り出す部分をスキャナとして分けて考える場合がある。 スキャナはある種の有限状態機械にモデル化できる。その有限状態機械は、それが処理する任意のトークンに含まれる文字の考えられる並びに関するルールを元に生成される。ここでいうルールとは例えば、「

  • PHP: PCRE のパターン - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • 1