dポイントプレゼントキャンペーン実施中!

いつもお世話になっておりますっ><

正規表現の記述方法で質問があります。
(納期に追われております><)

たとえば

<font color=#FFFFFF size=6>

みたいな文字があってこれを

<font color="#FFFFFF" size="6">

に変えたいんです。つまり「=」の後ろに ダブルクォーテーションがなかったら ダブルクォーテーションを付けたいんです><

さらに

<font color="#FFFFFF" size=5>

とか、ちゃんとダブルクォーテーションが着いてる文字列も混在しております><



最終的には = のあとにダブルクォーテーション で その後に続く文字を 囲いたいんです><


正規表現については以前質問したんですが、
申し訳ありません、また教えてください、よろしくお願い致します><

A 回答 (2件)

検索


(?<==)(?!")(.+?)(?=[\s>/])

置換
"\1"

実行前
<font color=#FFFFFF size=6>
<font color="#FFFFFF" size="6">
<font color=#FFFFFF size=6/>

実行後
<font color="#FFFFFF" size="6">
<font color="#FFFFFF" size="6">
<font color="#FFFFFF" size="6"/>
    • good
    • 0
この回答へのお礼

ありがとうございます!!
大変助かりました!!!

お礼日時:2013/11/29 13:49

深刻なら顔文字やめろやアホ。




HTMLの属性値は「必ず」その後ろが「スペース」もしくは「>」ですから
=([^"]+?)+([\s>])

="\1"\2
に置き換える「というような」形になります。
「というような」というのは、後方参照の書き方や置換の方法は言語によって異なるから断定できないということです。
あなたが何を使用して置換を行いたいのかを言わないので、具体的に教えることが不可能です。


あ、ちなみに。
あくまで例である、とは信じたいですが…今時<font>タグを本当に使ってるならやばいですよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございますっ。

質問の内容が分かりづらく申し訳ありません。

(1)= の次の文字 から 「スペース」 もしくは 「/」 もしくは 「>」 までの文字列をダブルクォーテーションで囲いたいのです。

(2)= の次の文字が 「ダブルクォーテーション」 もしくは 「シングルクォーテーション」だったら処理対象外


(例 (1))
<img src=対象文字列>あいうえお<img src=対象文字列/>
<img src=対象文字列 alt=対象文字列/>

上記のような文字列を

<img src="対象文字列">あいうえお<img src="対象文字列"/>
<img src="対象文字列 alt="対象文字列"/>

(例 (2))
<img src="すでにダブルクォーテーションついてる" /> ←このままになるように


おしえていただいた検索方法を参考にいまトライしているんですが、
「ここからここまで」をうまく表せません。

もう少しお付き合い頂けると助かります。
宜しくお願い致します。

お礼日時:2013/11/29 13:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!