2

这是我拼凑的正则表达式:

/(.*={76}\s)?\s*(.*?)\s\-\-\s(\d{2}\/\d{2}\-\d{2}\s\d{2}:\d{2})\s\s(.*?)\s(http:\/\/service.*?)\s(\-{76})/is

这是我将要解析的文本:http: //p.linode.com/7015

这是匹配文本的替换:

<item>\n\t<title>$2</title>\n\t<pubDate>$pubDate</pubDate>\n\t<description>$4</description>\n\t<link>$5</link>\n</item>\n\n

最后,这是我得到的输出:http: //p.linode.com/7016

几乎想出了将文本块解析为 RSS 2.0 XML 标记所需的正则表达式。我已经用RegExr和 RegexBuddy 对其进行了测试,除了链接后没有换行符的最后一个“项目”(第 269 行)外,它运行良好。

简而言之,问题是文本中的“iProperty”文章不匹配

任何正则表达式专家愿意帮助我解决问题吗?

4

1 回答 1

1

我试过了,我想我已经找到了解决方案(我可以用它生成正确的输出文件),只需像这样修改你的正则表达式:

/(.*={76}\s)?\s*(.*?)\s\-\-\s(\d{2}\/\d{2}\-\d{2}\s\d{2}:\d{2})\s\s(.*?)\s(http:\/\/service.*?)(\s(\-{76})|$)/is

我刚刚|$在最后添加了一些()OR 语句。

于 2012-09-18T13:24:12.220 回答