他のレスポンダーが言ったように、そのために RegExp コンストラクターを使用できます。しかし、あなたがそれをしている間、あなたはそれを取り除くべきです(.*)
. が持っている他の属性を消費することを意図していると仮定すると<div>
、 を使用する方が良いでしょう[^<>]*
。これにより、一度に 1 つの要素に一致が制限されます。(.*)
究極の脱出アーティストです。
しかし、私は興味があります: <div id="container_gallery_"
HTML 要素の最初の部分を含めて、本当に のような文字列を渡していますか? それとも、属性の値の置換のみを渡していますか (例: container_gallery_
)? その場合は、次の正規表現が役に立ちます。
var regex = new RegExp('<div\s+"` + (your var) + '"[^<>]*></div>', 'gi' );
I'm assuming the `id` attribute is always in the first position which generally not a safe assumption, but it makes the regex a lot easier, both to write and to read. ;)
また、渡された文字列に HTML 属性で不正な文字がないかチェックすることを忘れないでください。