ずにspanタグの開始と終了と一致するようにREGEX私は、文字列に置き換えを行うには、次の正規表現を使用しています:この正規表現は欠陥を持っているは彼らの内部テキスト
<\/?(span)\b(?:\s+class="highlight")?>
しかし...このサンプルコードを取ります例:
class = "highlight"を設定した場合のみ、正規表現は両方のspanタグに一致します。 RegExを使用してこれをどのように達成できますか?
PS:これは、RegExを使ってはいけないと言ってください。なぜなら、私はあなたの答えを話題にならないように格下げするからです。これはRegExの人のための質問です。
EDIT:上記の正規表現は、「で、ここでいくつかのテキストを置換するコードはJavaScriptである(MooToolsは)
var regex = new RegExp("(<span[^>]+class\\s*=\\s*(\"|')highlight\\2[^>]*>)(.*?)(</span>)",'g');
var replaced = element.get('html').replace(regex, "$3");
element.set('html', replaced);
:私は置き換える NOTEを行うには、次の正規表現を使用しています下の受け入れ答えに基づいて、いくつかのテキストをここに入力してください」(二重引用符は含まれません)
HTMLを扱うためにregexを使用していません。そして、あなたは人々にあなたにこれを教えてはいけないと言っておらず、答えを落とすよう脅しています。 – Tomalak
私は正規表現を使用するべきではないことを私に教えてくれる答えは望んでいません。質問する前にstackoverflowを閲覧しました。何らかの賢い人が来る前にSTATEを実行してください。何らかの形でコミュニティを助けてくれない「htmlを解析するためにREGEXを使用しない」のようなものに答えます。あなたが正規表現で答えを持っていなければ、私はあなたの解決策に興味がありません。あなたがそうするなら、私は投票し、あなたの答えを受け入れます。 – user253530
申し訳ありませんが、私は同意しません。 1つは、私はあなたがこのコミュニティコミュニティを助けるためにこの質問をしたとは思っていないので、これは議論でもありません。次に、正規表現はあなたの問題のための正しいツールではなく、明らかにあなたはそれを知っています。この事実は変わりません。あなたがそのような質問をするつもりなら、人々があなたにこれを伝えるという事実に対処しなければならないでしょう。それは、人々が本質的に欠陥のあるHTML問題の解決法を提案するのを止めれば、「コミュニティ」を助けるでしょう。 – Tomalak