正規表現で一括置換
現在、数多くの長文データを、テキストエディタの置換機能で一括置換しています。
jeditX(または秀丸エディタ)の正規表現をもちいた複数一括置換について質問させていただきます。
私は正規表現やPC言語の初心者です。どうぞよろしくお願いいたします。
かなり困り果てております。どうぞ、正規表現にくわしいかた、よろしくお願いします。
一二三『一二三にそれぞれ♪マーク』
という文章に対して
一♪二♪三♪
という一括置換をすることには成功しました。
こう書いています。
■検索文字列
(.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』
■置換文字列
\1♪\2♪\3♪
これでぶじ、以下のように一括置換できました。
一♪二♪三♪
現実には傍点や圏点をふっているんですが、判りやすく♪マークにしています。
この調子で長い文章も変換できていて満足していたのですが……
しかし代入文字が10個以上になったとたんに、まったく動きません。
■置換したい文章
一二三四五六七八九十『一二三四五六七八九十にそれぞれ♪マーク』
■検索文字列
(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』
■置換文字列
\1♪\2♪\3♪\4♪\5♪\6♪\7♪\8♪\9♪\10♪
こうやると、置換後の文章は以下のようになってしまいます。
一♪二♪三♪四♪五♪六♪七♪八♪九♪一0♪
10個目以降の数字が、正しく機能してくれません。
\10
という正規表現の書き方は
「一番目の値を参照して、それから数字の0を記入しなさい」
という意味になってしまうようです。
わたしは十番目の値を代入してほしいだけなんです。
\1 や \2 や \3 といった代入文字のように
\10 や \11 を機能させる、正しい表記をご教授ください。よろしくお願いいたします。
ちなみに以下のように書いてもダメでした……。
\1\0
グーグルで1日中検索しても判りませんでした。jeditXの複数一括置換でこれをなんとかしたいのです。ご存じの方、どうぞ教えてください。よろしくおねがいします!
秀丸エディタをご利用で、正規表現にくわしい方も、ぜひヒントを出していただければと思います。
補足
早速のご回答ありがとうございました。 ご回答を頂いてからから気がついたのですが、本来質問すべきだったのは先のようなピリオドで終わる文が複数ある場合でした。(舌足らずですみませんでした。) そこで再質問ですが、 AaaX BbbX CccX. DddY EeeY FffY. とあるのを(CccXとFffYの後ろのみにピリオド(\.)がある) AaaXBbbXCccX. DddYEeeYFffY. と置換したいのです。 ピリオド(\.)が改行(\n)に続くところは除外して改行(\n)だけを検出し、つなげるため\n[^(\.\n)] を使いました。 でもAaaXbbXccX.ddYeeYffY. になってしまいA以外の文頭文字が消えてしまい、さらに2文も繋がってしまいます。