正規表現マッチ (せいきひょうげんまっち)

分類分類/文字列処理/正規表現
種類命令
引数{=?}AをBで|AがBに
説明Perl互換の正規表現。文字列AをパターンBでマッチして結果を返す。$1や$2などは配列形式で返す。BREGEXP.DLLを利用。
識別id:344

簡単な説明 (kujira) [2005年05月11日]

Perl互換の正規表現をなでしこ上で行うものです。文字列AをパターンBでマッチングし結果を返します。実行には、BREGEXP.DLLが必要です。(なでしこでははじめから梱包されています。)

# マッチした部分を表示
「abcdefg」を「a.+g」で正規表現マッチ
表示。#abcdefg
「abcdefg」を「c.*f」で正規表現マッチ
表示。#cdef

注意 (kujira) [2005年05月11日]

修飾子を使ったマッチを行いたい場合は、Perlの形式でパターンを『m/パターン/修飾子』のように指定します。日本語(S_JIS)の文字列をマッチする場合は、オプションに「k」を追加します。

例えば、「ー」には、全角文字の2バイト目に『 [ 』のコードを含みますので「ー」をマッチするとエラーがでます。そこで、修飾子 k を追加して以下のようにします。

「マーチ」を「m/ー/k」で正規表現マッチ
表示

抽出の説明 (kujira) [2005年05月11日]

カッコ(...)を括った部分にマッチした文字列は、変数『抽出文字列』へ代入されます。

「02:50:30」を「(\d+):(\d+):(\d+)」で正規表現マッチ
それを表示。
抽出文字列を表示。

正規表現で一致する行だけを表示

ここでは、先頭が「#」の行を取り出しています。

テスト文=「あああああ
#いいいいい
ううううう」

パターン=「\A#」

テスト文を反復
	対象をパターンで正規表現マッチ
	もし、それが空でなければ、
		対象を表示

実行結果は、次のようになります。

#いいいいい

正規表現で分岐する

入力したテキストに、「半角カナ」「全角カナ」「英数」「数値」が含まれているかを調べます。たとえば「あいうえお12345かきくけこ」と入力すると、「数値」と表示します。

「入力してください」で尋ねる。
それを文字種類判定して、表示。

●文字種類判定(テキストを)
    テキストを「[ア-ン].*」で正規表現マッチ #半角カナ
    もし、それが空でなければ、
	「半角カナ」で戻る
    
    テキストを「[ア-ン].*」で正規表現マッチ #全角カナ
    もし、それが空でなければ、
	「全角カナ」で戻る
    
    テキストを「[a-z]|[A-Z].*」で正規表現マッチ #英数
    もし、それが空でなければ、
	「英数」で戻る

    テキストを「\d.*」で正規表現マッチ #数値
    もし、それが空でなければ、
        「数値」で戻る
    違えば、
	「0」で戻る