正規表現についての詳しい解説は、WEBを参照してください。多くの優れた解説サイトがあります。
『正規表現マッチ』命令を使って正規表現によるマッチが行えます。
「abc:def:ghi」を「[a-z]+」で正規表現マッチ
表示 # abc
また、Perlのように以下のように記述できます。
「abc:def:ghi」を「m/[a-z]+/g」で正規表現マッチ
表示 # abc
カッコ(...)を使うと、配列変数の0には正規表現でマッチしたもの、1以降には(...)にマッチしたものを順に入れます。
「abc:def:ghi」を「(.+)\:(.+)\:(.+)」で正規表現マッチ
それ[1]を表示
それ[2]を表示
それ[3]を表示
正規表現は、文字列をパターンとして処理します。パターンは、次のように"/"で囲んで指定します。
/パターン/修飾子
パターン文字に"/"を含む場合は、次のようにmを指定して別の文字を使うことができます。
m#パターン#修飾子
\ 次のメタ文字をクォートする(取り消す)
^ 行の最初にマッチする
. (改行以外の) すべての文字にマッチする
$ 行の終わりにマッチする
| 選択
() グループ化
[] 文字クラス
\w 単語」の構成文字 (英数字と "_") にマッチ
\W 単語の構成文字以外にマッチ
\s 空白文字にマッチ
\S 空白文字以外にマッチ
\d 数字にマッチ
\D 数字以外にマッチ
\b 単語の境界にマッチ
\B 単語の境界以外にマッチ
\A 文字列の最初にのみマッチ
\Z 文字列の最後にのみマッチ
\t タブ
\n 改行
\r 復帰
\f 改ページ
\a アラーム (ベル)
\e エスケープ
\033 8 進数で表した文字
\x1b 16 進数で表した文字
\c[ コントロール文字
直前の文字の数量子:
* 0 回以上にマッチ
+ 1 回以上にマッチ
? 1 回または 0 回にマッチ
{n} ちょうど n 回にマッチ
{n,} n 回以上にマッチ
{n,m} n 回以上 m 回以下にマッチ
修飾子は、つぎのようなものです。
k 文字を日本語(SJIS)として扱う(Perlにはこの修飾子はありません)
m 文字列を複数行として扱う(メタ文字$の処理結果に影響を及ぼします)
g 置換:グローバルな置換
c 変換:SEARCHLIST を補集合にする
d 変換:見つかったが置換されなかった文字を削除する
s 変換:置換された文字が重なったときに圧縮する
@@
●非互換について
次の機能は、BREGEXP.DLLではサポートしていません。
♪ソース〜
o 一度だけコンパイル x 拡張正規表現を使用する e 式の右側の評価を行なう@@