タグ

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

  • ネストしたコメントにマッチする正規表現 - でこすけの日記

    C言語のコメントと異なり、Haskellなどのコメントはネストすることができます。つまり、C/C++で /* /* ネストしたコメント */ ここはすでにコメント終了している */ はコンパイルエラーになりますが、Haskellだと {- {- ネストしたコメント -} ここはまだコメント内 -} などと書くことができます。 このHaskellコメント全体を正規表現でマッチさせたいとします。 Perlの正規表現(とPHPPerl互換正規表現)には、再帰的な表現をマッチさせる構文があります。 http://php.net/manual/ja/regexp.reference.recursive.php ↑のPHPマニュアルでは、 \( ( (?>[^()]+) | (?R) )* \) という正規表現で、再帰的な括弧()にマッチングする例が紹介されています。では、haskellのコメント{

  • 正規表現

    正規表現 前のドキュメント ViViの正規表現処理について説明する。 ■ 有限オートマトン チョムスキーの言語理論によれば、形式文法はクラス0~3に分類できる。正規表現は生成規則の制約が最も強いクラス3に属し、入力文字列が与えられた正規表現として受理されるかどうかを有限オートマトンにより決定することが出来る。 有限オートマトンとは下図の様に(有限の)状態と、入力文字によりどの状態に遷移するかの規則により構成されるものである。 'a'     'b' ○────→○────→◎ q0     q1     q2 上図では3つの状態、q0, q1, q2 があり、'a' が入力されると状態 q0 から q1 に遷移し、'b' が入力されると q1 から q2 に遷移することを表す。q2 は受理状態なので、"ab" が入力文字列であれば、めでたく受理されることになる。 正規表現を有限オートマト

  • (PHP)入力チェックを行うためのいろいろな正規表現 | old_3流プログラマのメモ書き

    Webで入力された情報のチェックを行うための正規表現のまとめです。 ちなみに、こちらのサイトでオンラインで正規表現のチェックができます。 簡単に評価できるので非常に助かってます。 カタカナ(全角)入力 preg_match( '/[ァ-ヶ]+/',$text ) このァかヶの範囲は文字コード表を見るとわかります。 ※追記 この方法だとうまくいきませんでした。 ということで、mb_eregを使って、こういう方法で。 mb_regex_encoding("UTF-8"); mb_ereg( "^[ァ-ヶ]+$" , $message ); 参考:全角カタカナにマッチする正規表現 ※さらに追記(2008/11/11) cakePHPのバリデーションでは上の方法でうまくいかない場合がありました。 それでこちらを参考に下記のようにしたらうまくいきました。 /^(?:\xE3\x82[\xA1-\xB

    (PHP)入力チェックを行うためのいろいろな正規表現 | old_3流プログラマのメモ書き
  • 1