0

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

4

1 回答 1

4

法律要求有人发布指向此的链接:RegEx 匹配开放标签,XHTML 自包含标签除外,您应该阅读并重新考虑您是否真的想使用正则表达式解析 HTML。

但是,您想要的是匹配中第三个 () 组的内容。JS 正则表达式对象的exec方法是一个数组,其中包含索引 0 处的整个匹配项,以及索引 1,2,... 处所有组的匹配项(在这种情况下,索引 3 是您所需要的)。

[注意:这个答案的早期版本有“第一”和“1”而不是上面的“第三”和“3”,因为我误读了你的正则表达式。对不起。]

于 2011-03-25T10:10:34.167 回答