正規表現で一括置換
現在、数多くの長文データを、テキストエディタの置換機能で一括置換しています。
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の複数一括置換でこれをなんとかしたいのです。ご存じの方、どうぞ教えてください。よろしくおねがいします!
秀丸エディタをご利用で、正規表現にくわしい方も、ぜひヒントを出していただければと思います。
補足
ありがとうございます。 そういえば、pタグの中にpタグが入れ子になっているデータもありました。 あの後、自分なりに正規表現の基本から勉強したところ、 検索<p class="test">(.+)</p> 置換<p class="test">$1</p><!--end test--> にたどり着きましたが、これは 入れ子の場合、最短一致になるのでしょうか?