正規表現(Regular Expression)



Tatsuo Baba氏作成の 正規表現DLL Bregexp.dll を使い、正規表現の使用が可能になりました。
HP : http://www.hi-ho.ne.jp/~babaq/bregexp.html


●個人的に分かりやすかった、正規表現解説サイト

Knave Web 講座 第15 章 JavaScriptの正規表現
HP : http://www.site-cooler.com/kwl/javascript/15.htm

なかま's HP「サルにもわかる正規表現入門」
HP : http://www.mnet.ne.jp/~nakama/


●フィルター部分には、「パターンマッチング」が使用可能です。
  (ex /(01|02)-namery/
 (先頭文字は / )

 ◆パターンマッチング 先頭文字 /
  ・・・ 正規表現でのパターン抜き出しをフィルタで使用できます

正規表現解説
/\d/ or /[0-9]/ 数字がある Namery01.txt
Namery 2.txt
/\d{3}/ 3桁の数字がある Namery 001.log
123 Namery.bat
/^\d{3}/ 先頭が3桁以上の数字で始まる 123 Namery.bat
0000Namery.txt
/\d{3,}/ 3桁以上連続する数字がある 0000Namery.txt
Namery12345.log
/txt$/ 拡張子の最後がtxt Namery.txt
Namery.atxt
/W.*[T8]\.txt$/ Wで始まって最後が T か 8 のtxtファイル Windows 98.txt
WanT.txt
/W.*[T8]\..{3}$/ Wで始まって最後が T か 8 のファイル Windows 98.txt
Watch NT.log

上記正規表現文字列をフィルタ文字列に使用する事で、ファイルのフィルタリングが可能です。


●連続置換欄に、置換とパターン置換が使用可能です。
 置換とパターン置換 (ex s/source/exchange/g|tr/abcdef/ghijkl/
 (先頭文字は s/ または tr/ )

 ◆置換 先頭文字 s/
  ・・・ 正規表現での置換

正規表現解説
s/^ +// 行頭の半角スペースを削除する
s/ +\./\./ ファイル名末尾の半角スペースを削除する
s/^ +//|s/ +\./\./ 先頭とファイル名末尾の半角スペース両方削除 上記2例を繋げた処理
s/(ab|cd)/[\1]/ ab か cd が含まれていた場合、その単語を[]で囲む about.txt ⇒ [ab]out.txt
s/(Win).*(ws)/\2\1/ Win〜ws という文字列を含んだ場合、wsWin に変換する
\1や\2の使用例
Windows.txt ⇒ wsWin.txt
s/(\D)(\d{1})\./$1 00$2/|
s/(\D)(\d{2})\./$1 0$2/
「文字列 + 2桁まで」の数字を3桁に揃える Name1.txt ⇒ Name 001.txt
s/(\D)(\d{1})\./$1 000$2/|
s/(\D)(\d{2})\./$1 00$2/|
s/(\D)(\d{3})\./$1 0$2/
「文字列 + 3桁まで」の数字を4桁に揃える Name1.txt ⇒ Name 0001.txt
s/[\s ]+/ /kg 全角、複数スペースを半角スペース一つにする

上記正規表現文字列をコマンド欄に入力し、チェックボックスをONにして下さい。


 ◆パターン置換 先頭文字 tr/
  ・・・ ある文字をある文字に置換するパターン列挙

正規表現解説
tr/あ-み/ア-ミ/k|tr/む-ん/ム-ン/k ひらがなをカタカナに 「み」 と 「む」の間でおかしくなるので、2つに分け、連続置換書式で繋げてます
tr/a-z/A-Z/k 小文字を大文字に 最後にkをつけないと、2バイト文字がある場合に不具合が出る
tr/0-9/0-9/k 数字を2バイトに

上記正規表現文字列をコマンド欄に入力し、チェックボックスをONにして下さい。


正規表現は、Perl5 に準拠しているようです。詳細は上記ページを参照下さい。
作者はあまり正規表現に詳しく有りませんので、書式などを相談されても 返答できない場合があります。ご了承下さい。