• 締切済み

正規表現でグループ化の置換

正規表現でグループ化してマッチした箇所を置換したいのですが出来ますか? $1を置換したいです。 よろしくお願いします

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

javascriptの正規表現は微妙に使いにくいですが こんなかんじでどうでしょう? <script> var rex=new RegExp("<(td)((| .+?)>.+?</)(?:\\1)>","gi"); var replacement="<th$2th>"; var str=""; str="<td>aaaaa</td>"; alert(str.replace(rex,replacement)); str="<TD>aaaaa</TD>"; alert(str.replace(rex,replacement)); str="<td class=\"test\">aaaaa</td>"; alert(str.replace(rex,replacement)); str="<td>aa<span class=\"hoge\">bbb</span>ccc</td>"; alert(str.replace(rex,replacement)); </script>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>正規表現でグループ化してマッチした箇所を置換したいのですが出来ますか? >$1を置換したいです。 具体的にどういう処理がしたいのか伝わってこない 「正規表現でグループ化」とは? あと特定の言語を想定していますか?

zettaizettai
質問者

補足

回答ありがとうございます。失礼しました。 たとえば <td>aaaaa</td> を /<(td)>/g でtdをグループ化してthに置換したいということです。 言語はjavascriptです。