1

私はそのような文字列を持っています:

var string = '<div class="post-content"></div><div class="post"></div><div id="content" class="col-lg-12"></div><div class="row"></div><div id="container" class="container"></div><body class="page page-id-157 page-template page-template-page-fullwidth-no-sidebar-php logged-in admin-bar  customize-support" style="">';

そして、すべての終了タグを削除したいと思います。div である場合とそうでない場合があります。

試してみましstring.replace(/<\/\S+>$/, '');たが、タグが1つしかない場合にのみ機能しているようです。それ以上はまったく機能しません

ここでフィドル

4

3 に答える 3

3

グローバル修飾子がありません (最初の一致だけでなく、すべての一致を検索します)。また、非貪欲にする必要があります (?後に a を追加し\S+ます)。$また、文字列の末尾にのみ一致する as を削除します。

string.replace(/<\/\S+?>/g, '');

また、空白を許可していないため、これは のようなタグを削除しますが</div>、は削除しないことに注意してください。</ div>

于 2013-09-07T17:44:45.233 に答える
2
string.replace(/<\/\S+>/g, '');

末尾のスラッシュの後の "g" はglobalを意味します。これは、最初の正規表現ではなく、正規表現のすべてのインスタンスを置き換えることを意味します。

また、これは、式の最後のインスタンスに対してのみ一致$することを意味します。それを削除すると、必要なものが得られます。

于 2013-09-07T17:44:07.987 に答える
1

はい、使用しないでください$:

/<\/\S+>$/

フィドル

于 2013-09-07T17:48:39.487 に答える