タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

regexpとprogrammingに関するwushiのブックマーク (3)

  • Step Functionsのステートマシンを利用した正規表現エンジンを作成する | DevelopersIO

    引用 : 正規表現エンジンを作ろう (3) 構文解析 構文解析処理では、字句解析処理で作成されたトークンをもとに構文的なチェックを行い、同時に構文木の作成を行います。 構文解析を行うにあたって、事前に正規表現の文法規則を整理しておく必要があります。ここではバッカス・ナウア記法(BNF)と呼ばれる記法を用いて、文法規則を記述します。この文法規則に従って正規表現を分解することで、正規表現として与えられた文字列が構文として正しいかどうかを確認することができます。 <expression> ::= <subexpr> <EOF> <subexpr> ::= <seq> "|" <subexpr> | <seq> <seq> ::= <subseq> | "" <subseq> ::= <star> <subseq> | <star> <star> ::= <factor> "*" | <facto

    Step Functionsのステートマシンを利用した正規表現エンジンを作成する | DevelopersIO
  • 正規表現とオートマトン

    正規表現とオートマトン 正規表現は、文字列のパターンマッチングを行うための汎用的な文法です。さまざまなプログラミング言語やコマンドラインツールなどで利用されています。 正規表現の理論的な背景として、オートマトンという概念があります。オートマトンは計算機科学の分野で研究されており、計算理論の教科書によく取り上げられています。ただ、いきなり教科書でオートマトンの説明を読んでも、わりと数学的な話で、プログラミングで扱っている正規表現のイメージとは少しギャップがあります。そこで記事では、簡単な正規表現のマッチング処理のコードを書いてみて、オートマトンの概念をつかんでみます。 なお、コードを記述するプログラミング言語はなんでもよいのですが、記事ではRustを使います。難しい文法は使わないので、Rustを知らなくても問題ありません。 正規表現のマッチング処理の素朴な実装 具体例として、正規表現 a

    正規表現とオートマトン
  • 正規表現メモ

    \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

  • 1