- ベストアンサー
Dreamweaverの正規表現の置換で$1の後に数字を記述するには?
コードに a1 b1 と書かれているところを a2 b2 に置換する場合 検索:([ab])\d 置換:$12 と書いても$1と2ではなく$12と認識されてしまうため うまく置換することが出来ません。 どうすれば思い通りに置換することが出来るのでしょうか? 使用OS:Windows XP 使用ソフト:Dreamweaver MX 2004 ~ CS3 ご存知の方がおられましたらご回答をよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Dreamweaverを使った事がないので、的外れかもしれませんが、最初に 検索:([ab])\d 置換:$1_2 としてa1→a_2のように間に何かを挟んだ形にしてその後 検索:_ 置換:(何もなし) で間に挟んだものを消してはいかがでしょう? ”_”の部分が 何かと重複するようなら別のものに置き換えてもらって構いません。
その他の回答 (2)
- naka_jan
- ベストアンサー率100% (1/1)
この場合、正規表現の限界、というわけではないでしょうね。 もしもDreamweaverが正規表現の「名前つき捕獲」に対応していれば 可能だと思います。 実際、サクラエディタ1.6.2+鬼車5.9.0の場合 置換前:(?<alpha>[ab])\d 置換後:\k<alpha>2 でa1→a2への一発置換が可能です。 また、スクリプト言語であれば [ab]とは別に後ろの1をグループ化し、$2を数字として扱って 1加算してあげれば行けると思います。
お礼
Dreamweaverの正規表現は「名前つき捕獲」に対応していないようです。 いろいろ調べてみましたがDreamweaverでは簡単な正規表現しか使用できないため 今回のようなケースは対応できないようです。 この場合、「正規表現の限界」というより「Dreamweaverの限界」といったところでしょうか。 AdobeがDreamweaverの正規表現をサクラエディタや秀丸並に 使用できるようにしてくれるまで待つしかないようです。 ご回答いただきどうもありがとうございました。
- m_flower
- ベストアンサー率59% (45/76)
まったく的外れかも知れませんが、単純にa1はa2に、b1はb2で個別に置換するのではダメなのですか?
補足
正規表現で一発で置換できるようにしたいのです。 例えばa1 b1のように数が少なければ2回の置換で済みますが a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 のようにたくさんあると これを個別に置換するのは手間がかかるので。
お礼
なるほど、確かにこの方法だと2回置換する必要がありますが、a1 b1 を a2 b2 に置換することが出来ますね。 そもそも正規表現では$1の後に数字が続くと1回で置換することが出来ないのだろうか? ご回答いただきどうもありがとうございました。