我有这样的字符串:
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+>$/, '');,但它似乎只有在只有一个标签时才起作用。更糟的是,它根本不起作用
Fiddle here
发布于 2013-09-08 01:44:45
您缺少全局修饰符(查找所有匹配项,而不是只查找第一个匹配项),您还应该将其设置为非贪婪(在\S+之后添加一个? )。另外,删除只与字符串末尾匹配的$:
string.replace(/<\/\S+?>/g, '');还要注意,这将删除像</div>这样的标记,但不会删除</ div>,因为您不允许使用空格。
发布于 2013-09-08 01:44:08
string.replace(/<\/\S+>/g, '');斜杠后面的"g“表示全局,这表示替换regexp的所有实例,而不是第一个实例。
此外,$意味着它只匹配表达式的最后一个实例。删除它应该会得到你想要的东西。
发布于 2013-09-08 01:48:39
是的,请不要在以下位置使用$:
/<\/\S+>$/fiddle
https://stackoverflow.com/questions/18676117
复制相似问题