- [正規表現でヒットした個所を利用して別な形に加工したい]という場合があります。
- 具体的には、[句読点の直前一文字を検索して、その一文字+句読点のみの行を作成したい]という場合や、[短歌の読み手+歌を歌+読み手の順に変えたい]と言ったような場合が挙げられます。
- 秀丸でそのような機能を実現する場合には、[タグ付き正規表現]を利用します。
↑ ページ先頭
タグ付き正規表現
- は置換で使います。
- 正規表現にと呼ばれる特殊な記号(メタ文字)を埋め込み、検索時に指定した正規表現のパターンを保持したまま、順番を入れ替えたりする場合に使用します。。
- このはという範囲を指定するために使われます。
- タグ付き正規表現を使いこなすためには、文章の構造を正規表現を用いて抽象的に表記する事が必要になります。
文章を正規表現を用いて抽象的に表記する
- 以下の事例で実際にやってみましょう。
- この二行は、いずれも一行毎にの構造を持っています。
- この構造を、タグ付き正規表現を利用してに変えてみましょう。
- この文章は上に書いたとおり、一行がの構造を持ちます。
- とりあえず、との間にを表すが入るのはわかるかと思います。
- わからなければ、エスケープシーケンス、正規表現のページを読み直してください。
- 次にとの部分です。
- これも以下の構造として抽象的に表記可能です。
- が
- が
- 両者とも、それが続いている構造
- 従って、それぞれを [亜-熙]+、を [ぁ-ん ]+ と表現してもよいのですが、もっと抽象的な表記にしてみましょう。
- 両方ともで構成されていますので、正規表現としては にまとめる事が出来ます。
- 結果、を正規表現で抽象化して表記した結果、と表記する事が出来ました。
- 試しに、これをキーワードとして指定してに置換すると、一行ごとにが一つある文書に変換されるはずです。
- 正規表現で抽象化して表記が正しいものと判断したら、これに文書の範囲を示すを付け加えましょう。
- タグは時に使うものと時に使う物との二つに分かれます。
- ここでは、便宜的に前者を、後者をと呼ぶ事にします。
- は、で指定された範囲を切り分けるために使われます。
- が検索用タグです。
- 上記の例では、ですから、範囲は三つに切り分けられるはずです。
- は、範囲を区切る部分に挿入します。
- この場合は、と切り分けた部分の間に挿入します。
- 従って、正規表現としては、となります。
- はで、切り分けた部品を再配置する際に使われます。
- 置換用タグの書式はになります。
- を使って、で切り分けた範囲を先頭から順にと表記します。
- 上の場合は、一番左(詠み手)のが、が、一番右(歌)のがとなります。
- 番号の数え方が慣れるまで面倒ですが、色々試してみて覚えてください。
- ここでは、に置換しますので、置換キーワードにはと指定します。
- 以上の設定が済んだらを実行すると、以下のようになります。

↑ ページ先頭
利用例
- 句読点及び直前の一文字を別行に切り出す。
元の文章

- 検索キーワード:
- .
- 一文字
- [、。]
- 、か。どちらか一文字
- \f
- ここまでを一範囲として指定
- これがとなる
- 置換キーワード:
- \n
- 改行
- 構造
置換後

↑ ページ先頭
注意事項
- 検索用タグを括弧の中で使うと、上手く切り分ける位置が判断できません。括弧の中では使わないようにしましょう。
- 検索用タグの切り分け位置が曖昧になるような正規表現中で利用しても、上手く切り分けられません。
- また、検索用タグの後ろにやのようば、直前の文字列を判断するメタ文字の使用は不可です。
- 秀丸では、切り分ける位置の判断に失敗した場合、置換用タグには何も代入されませんので、結果的に何もない状態(文字列が削除される)になります。
↑ ページ先頭