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でテストしましたが、リンクの後に改行がない最後の「アイテム」( Line 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 に答える