• ベストアンサー

正規表現のマッチングで悩んでます。

HTMLタグのfontタグからfase部分を削除したく思ってます。 <FONT face='MS Pゴシック' size='2' color='#339900'> コレに対してマッチングパターンとして face.*' を検討しましたが、どうも .*' では、一番最後にマッチングした #339900'までが対象になってしまいます。 どのようにしたら、face='*****' を選べるでしょうか? またsizeをマッチングさせたいとき、size=2 などはどのような パターンを組んだらよろしいでしょうか ご教授お願いいたします 

質問者が選んだベストアンサー

  • ベストアンサー
  • kichi8000
  • ベストアンサー率41% (660/1584)
回答No.1

最短一致指定 ? face='.*?' だと思う。

ssmx
質問者

お礼

ありがとうございます! ?初めて知りました。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

パターン文字列 : face\s*=\s*'.*?' .*の後ろに?を置くことで、最短マッチを指示します。?が無いと、 最長マッチになります。つまり、最後のアポストロフィですね。 尚、掲題の "face.*?" でもOKです。 http://msdn.microsoft.com/ja-jp/library/cc392020.aspx

ssmx
質問者

お礼

face\s*=\s*'.*?' おー最強ですね! こうやって指定すればいいんですね。 とても勉強になりました!