我有这样的字符串
<p>test <span class=\"match\">match</span> <span class=\"testtes\">dddddd</span></p>
我想获得没有标签的字符串。但是我希望按类"match"
保存突出显示:
test <span class=\"match\">match</span> dddddd
如果我想删除所有标记,则用空字符串替换满足regexp /<\/?[^>]*>/
的所有子字符串。但是在我的特殊情况下我应该使用什么正则表达式?
UPD:算法是:如果你看到一些没有标签的句子然后你就不应该删除这些跨度;否则你应该删除所有标签
答案 0 :(得分:0)
我可以做这样的事情
<\/?(?![^>]*class=\\"match)[^>]*>
这将保留开始标记并导致此
test <span class=\"match\">match dddddd
但我应该如何找到匹配的结束标记?
<p>test <span class=\"match\">match</span> <span class=\"testtes\">dddddd</span></p>
^^^^^^^ or the next one? ^^^^^^^
正则表达式无法知道哪个结束标记属于包含该类的开始<span>
标记。我没有可能找到匹配的结束标签。所以使用正则表达式做这个不是一个好主意。
我很确定您使用的语言有一个可用于执行此任务的HTML解析器。