正規表現で特定のタグを除去・削除する方法

このQ&Aのポイント
  • 正規表現を使用して特定のタグを除去・削除する方法について教えてください。質問者はactionscript3でタグの削除を試みましたが、うまくいかなかったようです。
  • 質問者はタグの削除方法として3つのアプローチを考えましたが、いずれもうまくいきませんでした。質問者は属性などを一つ一つ記入する手間を省きたいとしています。
  • 質問者はタグの削除方法が分かれば元のコンテンツを参照させてうまくいくと考えています。
回答を見る
  • ベストアンサー

正規表現で特定のタグを除去・削除する方法を教えてください。

正規表現で特定のタグを除去・削除する方法を教えてください。 actionscript3で正規表現を使いタグを除去したり削除したりしようとしたのですが うまく行きませんでした。 タグ削除で考えた方法1 str.replace(/<input (.*)\">/g,''); すり抜けて最後のエレメントまで消滅しました('A`) タグ削除で考えた方法2 str.replace(/<input([a-zA-Z0-9\.\:\/\s]*))\">/g,''); 何も起こらない('A`) タグ削除で考えた方法3 str.replace(<option value=([a-zA-Z0-9]+|[\.\:\/\s]+)>([一-龠]+|[ぁ-ん]+|[ァ -ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+)<\/option>); 何も起こらない('A`) 除去に至っては手付かずです。 タグ削除の方法が分かれば元のコンテンツを参照させて うまく行きそうだなと思いました。 ポイントとして属性などを一つ一つ記入する手間を省きたいです 何方かレクチャーしていただけますか。 よろしくお願いします。

  • Flash
  • 回答数1
  • ありがとう数9

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

  • ベストアンサー
回答No.1

*のあとに?を付けて最短一致にしましょう

fun_wizard
質問者

お礼

素晴らしいです!! 一発解決しましたw まーったく正規表現について基本がなってなかった事を痛感しました。 精進いたします。 ありがとうございます。

関連するQ&A

  • 正規表現で、漢字と送り仮名を分割しない書式を教えて下さい

    mb_ereg("[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+", $str, $match); を使うと、漢字と平仮名全てが分割されてしまいます。 例えば、「抱っこ」は、「抱」「っこ」に分割されてしまいます。 送り仮名といっても全て検知できるようなシステムは膨大になりすぎて 現実的ではないと思いますので、 ・漢字の後に平仮名が続いたら、分割せずに結合させる正規表現の書式 もしくは、 ・漢字と送り仮名を結合させるプログラム をご存知のかたがおられましたら、教えて下さい。 宜しく願い致します。

    • ベストアンサー
    • PHP
  • PHPでの正規表現

    PHPでの正規表現に関する質問です。 function makeAk($value){ return preg_replace("/(?<![一-龠+ぁ-ん+ァ-ヴ+a-zA-Z0-9'\"#@=:;])@([一-龠+ぁ-ん+ァ-ヴ+a-zA-Z0-9_]{1,15})/u", "@<a href=\"mypage.php/\\1\">\\1</a>", $value); } 上記のコードでmypage.phpに\\1ではなく、パラメーター(?id=$post['id']のような)を振りたいのですが、 どうしたらうまくいきますでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP
  • 正規表現で指定範囲すべて除去する方法

    正規表現で {○○○○}の中を全て除去する場合 echo preg_replace('/{.*?}/', '', $html); で{ 文字は除去できる }の中が全て文字だけの場合は除去できるのですが、 { <div>タグを含むと除去できないので困っています</div> }とすると echoした場合に{ <div>タグを含むと文字も除去できな、すべて表示</div> }はそれごとすべてHTML表示されます。 { }内の{}やタグ、文字を全て除去する正規表現はどうすればよいのでしょうか? --------------------------------------------------- $html= <<<_EOD_ <HTML> <HEAD> <title>ここにページタイトルを記述する</title> </HEAD> <BODY> <p>ここの文章は表示する</p> { <div>ここにエリアは表示しない</div> } </BODY> </HTML> _EOD_; echo preg_replace('/{.*?}/', '', $html); -------------------------------------------------------------

    • 締切済み
    • PHP
  • メールアドレスの正規表現

    メールアドレスの正規表現 正規表現の勉強をしています。下記のURLのメールアドレスの正規表現の一部が理解できません。 http://hodade.adam.ne.jp/seiki/page.php?s_mail ^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ この中の「[a-zA-Z]{2,4}$」の部分がわかりません。 行末が英文字2以上4以下というのは何を表しているのでしょうか? なぜ2以上4以下になるかが理解できません・・・ 宜しくお願いします!!

  • 英数字と記号の正規表現

    英数字と記号の文字であればtrueを返すような判定を正規表現で行いたいです。 英数字の判定([0-9a-zA-Z])、記号([\\p{Punct}]+)の判定は個別にテストして動作したのですが、二つを組み合わせて書くようにするにはどのようにすればよいのでしょうか? 当然ですが、以下のように書くと文字列の全てがそれぞれ記号なのか、英数字なのかを判定してしまうためfalseを返してしまいます。 String str = "~!@#$%^&*()_+{}|:"<>?`-=[]\;',./1234567890abcdefgxyz"; System.out.println(str.matches("[\\p{Punct}]+") || str.matches("[0-9a-zA-Z]+")); 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • 秀丸の正規表現

    秀丸の正規表現 http://pc.dearie.jp/hidemaru/replace/14.html 上記URLでメールの正規表現について解説があります。 [A-Za-z0-9\-\.\_]+@[A-Za-z0-9\-\_]+\.[A-Za-z0-9\-\.\_]+ この正規表現でメールの検索をおこなっています。この正規表現は理解出来ます。 .*([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).* キャプチャを使って正規表現でメールアドレスをマッチしているのは理解できます。 なぜ置換で、「\1,」とやっても、メールアドレスのみを取得できないのでしょうか? 実際に秀丸エディタを使ってやってみましたが、メールアドレスのみ取得することができませんでした。 検索ではメールアドレスにマッチするのに、なんでキャプチャが正しく動かないのかがわかりません・・・

  • 正規表現

    正規表現で 数値と半角記号(!#$%()~|-^@[;],./`{+*}_)が入っているというものを表現したいのですが、、、 下記のような正規表現をすると、エラーになってしまいます。何かよい方法はありませんか? ^[a-zA-Z0-9\-_!#$%()~|-^@[;],./`{+*}_]*$ 又、携帯電話のチェックをしたいのですが、 1文字以上の文字列があってというような処理にしたいのですが、何かよい方法はないでしょうか? ereg( "@docomo\.ne\.jp$", $email )

    • ベストアンサー
    • PHP
  • 正規表現で行ではなく単語のみをファイル化したい

    正規表現で電話やアドレスを検索するとその行丸々表示されてしまいます。 [例]'[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+' [結果] 何々、xx@aa,bb,cc 正規表現の単語部分(何々、を除いた部分)だけを取り出すにはどうすればいいのですか お願いします。

  • 正規表現

    数字と大文字、小文字のアルファベットは入力OK。 記号も入力OK。でも、記号の中でも「”」、「.」は ダメ。しかも、10桁くらい入力できるようにする。 を表す正規表現は [a-zA-Z0-9&&[\"\.]]* と思ったのですが、 正しく表す正規表現はどの様なものになるのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • 正規表現について(sed)

    いつもお世話になっております。 下記のようなURLから、特定のパラメータ以外はすべて除去したいのです。 http://XXX.jsp?rank=6&uid=aaaabfadfddfd&k=open&serial=12345&pr=ABC 残したいパラメータは k= a= pr= です。 s/[&?]\([k]\|[a]\|[pr]\\)=[0-9a-zA-Z%_-]\+//g この表現で、なんとか残したいパラメータを除去するのはできました。 「これ以外」という表現ができれば、望みの結果になると思うのですが、 いろいろ試してもうまくいきませんでした。 そもそも考え方が違うのかもしれないですが。。。 申し訳ありませんが、お詳しい方教えていただけると非常に助かります。 よろしくお願いいたします。 すみません、先ほどPHPでの処理でどうにかならないかと思い、 別の似たような質問を投稿してしまいました。 今回はLinuxのsedコマンドでの処理になるので、あえて別の投稿させていただいています。 申し訳ありません。。。 正規表現について(preg_replace) http://okwave.jp/qa/q7125468.html

専門家に質問してみよう