2.2. XLCRegEx オプション

オプションは、正規表現パーサを作成するとき、置換文字列を登録するとき、テキストを処理するときに指定することができます。

指定したいオプションの文字 0 個以上-指定をはずしたいオプションの文字 0 個以上

(例) gw-i  グローバルマッチングモード、全角・半角を区別しない。大文字小文字は区別する。

指定できる文字とその意味は次のとおりです。

g
グローバルマッチングモード。XLRegExReplace 関数を使用する際に、マッチする部分文字列すべてを置換するよう指示します。
これが指定されていない場合は、最初に見つかった部分文字列だけを処理します。
m
マルチラインモード。改行の前後をそれぞれ文字列の終端、先頭とみなします。
s
シングルラインモード。改行も通常の文字として扱います。
正規表現において、.(ピリオド、任意の一文字にマッチ)は改行にはマッチしませんが、このオプションを指定すると、改行にもマッチするようになります。
x
パターン内の空白を無視します。パターン中に# があれば、行末までコメントとみなします。
i
大文字・小文字を区別しません。
d
濁点、半濁点やダイアクリティカルマークの有無を区別しません。
w
半角・全角を区別しません。
k
ひらがな・カタカナを区別しません。
l
(L の小文字)ひらがな・カタカナの通常の文字と小文字を区別しません。
n
Unicode Character Database の Decomposition_Mapping にしたがって分解してから比較します。
q
各引数の最初と最後の文字が二重引用符 " なら、それらをはずします。

q オプションの使用例

関数一覧」で述べましたが、各関数の引数には他のセルの参照を指定することも可能です。同じパターンや置換文字列を使用する場合は、パターンなどを特定のセルに格納して一ヶ所で管理することができます。

例として、メールヘッダの From 行からメールアドレスだけを隣のセルに出力するとします。(メールアドレスでは < や > は使われていないとします。)


AB
1
<([^>]+)>
2
"$1"
3
q
4 From: Bank of Japan <prd.hp-mds@boj.or.jp>

セル A4 に処理するデータ、セル B1 にパターン、セル B2 に置換文字列、セル B3 にオプションが格納されています。セル B4 には次のような式を入力します。(詳細は、関数一覧パターン置換文字列 を参照してください。)

=XLCRegExFormat($B$1,$B$2,A4,$B$3)

ここで、セル B2 の置換文字列は $1 と入力したいのですが、このままでは Excel は通貨記号付きの数値と解釈します。この状態で使用するとエラーメッセージ !VALUE# が表示されます。

これを避けるには、

という方法がありますが、上の例のように

  1. 文字列以外に解釈される引数を " で囲む
  2. q オプションを指定して、処理時に両端の " を外すように指示する

でも対応できます。この方法では、特別な設定なしでセルの内容と表示を一致させることができます。