>我需要一些正则表达式来删除具有特定类(包括结束标签(的 span 标签,但不想删除介于两者之间的内容...... 我不想删除任何其他范围标签
我无法想出它,因为我往往会忘记正则表达式技巧:(
我有这个
<span class="SpellE">system_user.user_name</span>
<span>This is some text</span>
<Span class="OtherCLass">Some other text</span>
<span class="SpellE">system_user.userid</span>
我想要这个结果
system_user.user_name
<span>This is some text</span>
<Span class="OtherCLass">Some other text</span>
system_user.userid
是的,我需要整理一些凌乱的MS Html:)
提前致谢
以下正则表达式应符合您的要求:
<span class="SpellE">(.*)</span>
它将跨度与 class='SpellE' 匹配,从而创建一组跨度文本。
然后,您应该将匹配项替换为组 1。
在 JavaScript 中,你可以像这样使用它:
var testStr = '<span class="SpellE">system_user.user_name</span>n'
+ '<span>This is some text</span>n'
+ '<Span class="OtherCLass">Some other text</span>n'
+ '<span class="SpellE">system_user.userid</span>n';
var regex = /<span class="SpellE">(.*)</span>/gi;
var result = testStr.replace(regex, '1');
现在结果应该是您想要的输出。
偶然发现了这个旧帖子...Poul发布的Javascript解决方案需要稍作更改才能正常工作:
var testStr = '<span class="SpellE">system_user.user_name</span>n'
+ '<span>This is some text</span>n'
+ '<Span class="OtherCLass">Some other text</span>n'
+ '<span class="SpellE">system_user.userid</span>n';
var regex = /<span class="SpellE">([^<]*)</span>/gi;
var result = testStr.replace(regex, '$1');