需要帮助使用Regex获取RSS提要的某些部分

时间:2011-08-29 09:11:43

标签: regex rss

我需要在第一个之前以及截止日期和位置之前提取公司名称(JTA Connection),最好不要使用下面的RSS提要中的“截止日期:”和“位置:”部分正则表达式。

<description>JTA Connection Oy<br /> Työsuhde: <br /> Työn laatu: <br />Deadline: 07.09.2011<br />Location: Avoin<br /></description>

在使用正则表达式提取某些部分时,我有点迷失,所以任何帮助都是最受欢迎的。

2 个答案:

答案 0 :(得分:2)

RSS文件是一个xml文件,因此最好使用xml解析器进行解析。一旦你有了描述部分,在大多数语言中将它分解成一个数组并且使用“Word:”来比较字符串的开头以获得你感兴趣的数据会更加有效。我不会使用正则表达式。

答案 1 :(得分:0)

公司名称:

<description>([^<]+)

截止日期:

Deadline:\s([^<]+)

地点:

Location:\s([^<]+)

每次,您搜索的结果都与第1组匹配。如果您的编程语言允许,您还可以使用“后视”功能。

您还可以匹配整个字符串并单独获取每个组:

<description>([^<]+)<br\s?/>([^<]+)<br\s?/>([^<]+)<br\s?/>Deadline:\s([^<]+)<br\s?/>Location:\s([^<]+)<br\s?/></description>

在这种情况下,公司名称由第1组匹配,截止日期由第4组匹配,位置由第5组匹配。

我假设你的答案是你正在解析的RSS总是有这个确切的结构。 如果不是这样的话,我会考虑使用XML解析器