VBscriptのRegExpオブジェクトの正規表現


はじめに

当ツールで使用できる正規表現について紹介します。
当ツールの正規表現エンジンはVBscriptRegExpオブジェクトですが、
一部の表現は拡張機能でオリジナルとなっています。

位置マッチング

  • ^ 先頭
    検索パターン ^0
    検索結果 01234567890 1234567890
    先頭の0のみ検索されます。

    検索パターン ^
    置換文字列 =
    置換前 A1+A2 B1*B2
    置換後 =A1+A2 =B1*B2
    先頭に=が付加されます。

  • $ 末尾
    検索パターン 0$
    検索結果 01234567890 1234567890
    末尾の0のみ検索されます。

  • \b 単語境界
    検索パターン \bI\b
    検索結果 I am in Italy.
    Iの単語のみ検索されます。

  • \B 単語境界以外
    検索パターン \Bed\b
    検索結果 I used the education edition.
    edで終わる単語のみ検索されます。

リテラル

  • \n 改行
    検索パターン \n
    検索結果 ABCDE
    FGHIJ
    12345
    改行(改行記号を←で表示することにします)が検索されます。

    検索パターン $
    置換文字列 \n
    置換前 A1234←
    B1234
    C1234
    置換後 A1234←
    B1234
     
    C1234
     
    末尾に改行を付加します。置換文字列の\nは拡張機能です。

  • \f フォームフィード

  • \r キャリッジリターン

  • \t 水平タブ

  • \v 垂直タブ

以下の記号はすべて正規表現で特殊な意味を持っています。
これらの文字そのものを表す場合は、その文字の前に\を付けます。
  • \? ?の文字そのもの

  • \* *の文字そのもの

  • \+ +の文字そのもの

  • \. .の文字そのもの

  • \| |の文字そのもの

  • \{ {の文字そのもの

  • \} }の文字そのもの

  • \\ \の文字そのもの

  • \[ [の文字そのもの

  • \] ]の文字そのもの

  • \( (の文字そのもの

  • \) )の文字そのもの

検索パターン \.txt
検索結果 test1.txt test2.xls
.txtが検索されます。

以下の記号は置換で特殊な意味を持っています。
この文字そのものを置換で使う場合は、その文字の前に$を付けます。

  • $$ $の文字そのもの

その他
  • \xxx 8進数xxxによって表現されるASCII文字

  • \xdd 16進数ddによって表現されるASCII文字

  • \uxxxx UNICODExxxxによって表現されるASCII文字

文字クラス

  • [xyz] 文字セットに含まれている任意の1文字
    検索パターン [12]0
    検索結果 10,11,12,13,14,15 16,17,18,19,20

  • [^xyz] 文字セットに含まれていない任意の1文字
    検索パターン 1[^05]
    検索結果 10,11,12,13,14 15,16,17,18,19

  • . \n以外の任意の1文字
    検索パターン .浦和
    検索結果 北浦和南浦和 浦和、東浦和

  • \w 単語に使用される任意の文字。[a-zA-Z_0-9]と等価。

  • \W 単語に使用される文字以外の任意の文字。[^a-zA-Z_0-9]と等価。

  • \d 任意の数字。[0-9]と等価。

  • \D 任意の数字以外の文字。[^0-9]と等価。

  • \s 任意のスペース文字。[ \t\r\n\v\f]と等価。

  • \S 任意の非スペース文字。[^ \t\r\n\v\f]と等価。

繰り返し


  • {x} x回繰り返し
    検索パターン \d{3}
    検索結果 test001 test15
    3桁の数字を検索

  • {x,} x回以上繰り返し

  • {x,y} x回以上y回以下繰り返し

  • ? 0回以上1回以下繰り返し。{0,1}と等価。

  • * 0回以上繰り返し。{0,}と等価。
    検索パターン plays*
    検索結果 I play baseball. He plays golf.

  • + 1回以上繰り返し。{1,}と等価。
    検索パターン {d}+
    検索結果 123,11,A1
    任意の桁の整数を検索

  • ? 繰り返しの後に使用すると最短一致
    検索パターン test{d}*?\.txt
    検索結果 test001.txt,test02.txt

    最短一致を使用しないと以下のようになる。
    検索パターン test{d}*\.txt
    検索結果 test001.txt,test02.txt

選択とグループ化


  • | 選択
    検索パターン 東京都|神奈川県
    検索結果 東京都江戸川区 神奈川県横浜市
    東京都または神奈川県を検索

  • () グループ化
    検索パターン (東京都)?渋谷区
    検索結果 東京都渋谷区1-2-3 渋谷区1-2-4

  • (?:) 後方参照(後述)しないグループ化
    検索パターン (?:東京都)?渋谷区
    検索結果 東京都渋谷区1-2-3 渋谷区1-2-4

  • (?=) 後方一致
    検索パターン 東京都(?=渋谷区)
    検索結果 東京都渋谷区1-2-3 東京都町田市1-2-3
    後ろに渋谷区が続く東京都を検索

  • (?!) 後方不一致
    検索パターン 東京都(?!渋谷区)
    検索結果 東京都渋谷区1-2-3 東京都町田市1-2-3
    後ろに渋谷区が続かない東京都を検索

  • (?#) コメント 拡張機能

後方参照


  • \n n番目の括弧で囲まれた句(検索)
    検索パターン (\d*)(\d|0)\.?\1
    検索結果 123.4567 12,0.123
    任意の正の数を検索

  • $n n番目の括弧で囲まれた句(置換)
    検索パターン (\d{4})年(\d{2})月(\d{2})日
    置換文字列 $1/$2/$3
    置換前 2010年05月05日
    置換後 2010/05/05

  • $& パターン全体がマッチした部分(置換)

  • $` マッチに先行する部分(置換)

  • $' マッチに続く部分(置換)

  • $+ 最後の括弧にマッチした部分(置換)

  • $_ 入力文字列全体(置換)

  • 特殊置換


    拡張機能です。また置換時に単独でしか使用できません。
    • [UPPER] 大文字に変換

    • [LOWER] 小文字に変換

    • [WIDE] 全角に変換

    • [NARROW] 半角に変換


    正規表現検索に戻ります

    トップに戻ります


    お探しの情報は見つかりましたか?
    まだの方はこちらをどうぞ。
    Google