【拡張機能】 文字列置換(正規表現)
機能概要
文字列を正規表現で検索を行ない、一致した文字列を別の正規表現で置換します。
作業対象画面
正規表現とは
ある法則に則った文字列のパターンを記号と文字の組合せで表記する方法。
これを用いることで、あるパターンの文字列を指定したルールに従って置換することができます。例えば括弧()で囲まれた部分を別のテキストに置き換えるなど、ルールが定まっていれば正規表現の記述でそれを指定する事が可能。
正規表現は様々な記述方法があり、それに関する説明だけで一冊の本が書けてしまうボリュームのため、詳細についてはここでは省略します。Google検索等で「正規表現 文法」「正規表現 置換」などで検索すれば記述方法を調べることができます。
項目説明
・「項目A」
文字列置換を行うテキストを指定します。右端の「>」ボタンを押すと複数行表示となります。改行が含まれていても可。
・「正規表現B」
置換対象の文字列を正規表現で指定します。ここで指定された正規表現に一致するものが置換されます。
「`t」でタブの指定が可能。
・「正規表現C」
項目Bを置き換える文字列を正規表現で指定します。単なる文字列を指定した場合はその文字列で置換されます。
何も指定しなかった場合はNULLで置換されます。
・「変数D」
置換された結果を格納する変数を指定します。
よく使われる正規表現
記号 | 記号の役割 | 例 | 説明 |
. | 任意の1文字。改行は除く。 | 「…」 | 「」内に任意の3文字がある場合にマッチ |
* | 直前の1文字の0回以上の繰り返し | Hoge* | HogeもしくはHogeが先頭につく文字列にマッチ |
^ | 文字列の先頭 | ^[0-9] | 先頭文字が数字にマッチ |
$ | 行の末尾 | ^.{10}$ | 10文字にマッチ |
[] | 括弧内の任意の1文字と一致。「-」で範囲指定可能 | [a-z] | 小文字アルファベット1文字にマッチ |
[^] | 括弧内の任意の1文字と不一致。「-」で範囲指定可能 | [^A-Z] | 大文字アルファベット以外にマッチ |
+ | 直前の文字の1個以上の繰り返し | Hoge+ | Hogee、Hogeeee、等にマッチ |
? | 直前の文字の0もしくは1文字 | Hoge? | Hoge、Hogeeにマッチ |
{n} | 直前の文字のn個の繰り返し | Hoge{2} | Hogeeeにマッチ |
{,n} | 直前の文字のn個以下の繰り返し | Hoge{,2} | Hogeee、Hogeeにマッチ |
{m,} | 直前の文字のm個以上の繰り返し | Hoge{2,} | Hogeee、Hogeeee、等にマッチ |
{m,n} | 直前の文字のm個以上、n個以下の繰り返し | Hoge{3,2} | Hogeee、Hogeeeeにマッチ |
| | どちらかのパターン | Hoge|Suga | Hoge、Sugaにマッチ |
() | 括弧内をグループ化し、マッチした内容を$nで参照できる | 「(.+)」 | 「」で囲まれた部分にマッチ。 参照する場合は$1で指定。参照が複数ある場合は$2,$3・・・となります。 |
注意事項
- 正規表現の文法は.Netに準拠します。
プログラム言語により若干文法に違いがあります。
- 項目Aは複数行表示であっても、本機能では1行として認識されます。
項目A:
〒456-xxxx
愛知県名古屋市熱田区○○町×―××―×
高橋ビル4F
株式会社△△
上記のように記述されていても、本機能では項目Aは以下と認識されます。
項目A:
〒456-xxxx愛知県名古屋市熱田区○○町×―××―×高橋ビル4F株式会社△△
使用例
- 複数パターンの文字列変換。「JAPAN」、「NIPPON」、「JPN」を日本に置き換える。
「正規表現B」:JAPAN|NIPPON|JPN
「正規表現C」:日本
実行結果 ・・・ 項目A:「JAPAN原産」 ⇒ 変数D「日本原産」
- 文字を囲んでいる括弧を置き換える。“「」”から“【】”に変換します。
文字を囲んでいる括弧を置き換える。“「」”から“【】”に変換します。
「正規表現B」:「(.+)」
「正規表現C」:【$1】
実行結果 ・・・ 項目A:「テスト」⇒ 変数D:【テスト】
- 先頭に「>」を挿入。
「正規表現B」:^
「正規表現C」:>
実行結果 ・・・ 項目A:「テスト」 ⇒ 変数D:「>テスト」