标签内内容的正则表达式
我使用 Javascript 我有这个:
<(div|span) class="search-result-(body-text|title)">(.*?)</(span|div)>
我在这个内容上使用:
<div class="search-result-item club">
<span class="search-result-type">Projekt</span
<span class="search-result-title">Titel</span>
<div class="search-result-body-text">
Body text
</div>
<div class="search-result-attributes">
<span class="search-result-attribute">Attribute</span>
</div>
</div>
我的结果是:
<span class="search-result-title">Titel</span>,
<div class="search-result-body-text">
Body text
</div>
这是有道理的,但是我的正则表达式应该是什么样子,这样它就会去除标签,所以我只得到: Titel< /em>,正文
I use Javascript
I have this:
<(div|span) class="search-result-(body-text|title)">(.*?)</(span|div)>
And i use is on this content:
<div class="search-result-item club">
<span class="search-result-type">Projekt</span
<span class="search-result-title">Titel</span>
<div class="search-result-body-text">
Body text
</div>
<div class="search-result-attributes">
<span class="search-result-attribute">Attribute</span>
</div>
</div>
My result is:
<span class="search-result-title">Titel</span>,
<div class="search-result-body-text">
Body text
</div>
Thats make sense, but how should my regexp look like so it strips the tags, so i only get: Titel, Body text
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
法律要求有人发布此链接:正则表达式匹配除 XHTML 自包含标记之外的开放标记,您应该阅读这些标记并重新考虑您是否真的想要使用正则表达式来解析 HTML。
然而,您想要的是比赛中第三()组的内容。 JS 正则表达式对象的
exec
方法是一个数组,其中包含索引 0 处的整个匹配项,以及索引 1,2,... 处所有组的匹配项(在本例中索引 3 是你需要什么)。[注意:这个答案的早期版本有“第一”和“1”,而不是上面的“第三”和“3”,因为我误读了你的正则表达式。对不起。]
It is required by law that someone post a link to this: RegEx match open tags except XHTML self-contained tags which you should read and reconsider whether you really want to be parsing HTML using regular expressions.
However, what you want is the contents of the third () group in your match. The
exec
method of a JS regular expression object is an array containing the whole match at index 0, and the matches from all the groups at indices 1,2,... (in this case index 3 is what you need).[NOTE: an earlier version of this answer had "first" and "1" instead of "third" and "3" above, because I misread your regexp. Sorry.]