0

次のようなコード ブロックがあります。

<table border="0"><tr><td><img src='http://profile.ak.fbcdn.net/object3/686/9/q142163634919_249.jpg'/>&nbsp;&nbsp;</td><td>Gift of Life Marathon Blood Drive - "the group stood before a sea of 1,000 Long Trail Brewing Co. pint glasses..." (Rutland Herald, VT)</td></tr></table>

http://profile.ak.fbcdn.net/object3/686/9/q142163634919_249.jpg以外のすべてを見つけて置き換える必要があります。したがって、最後は単に URL にする必要があります。

ループを通過する際に異なる唯一の値は、td タグの 2 番目のセット内の URL と説明です。説明の文字数は常に同じとは限りません。

私はRegex Buddyを入手し、昨夜何時間も参照サイトを見ました。1 つの文字を一致させることは非常に簡単に思えますが、これを理解するにはしばらく時間がかかると思います。

RegExにはさまざまな種類があると思います。私が取り組んでいるものはYahoo Pipesにありますが、それがどのタイプかはわかりません: http://pipes.yahoo.com/pipes/pipe.edit?_id=436a316234281be629d357bbecae46b1

4

3 に答える 3

2

あなたの html が上記のように見える場合、それは簡単です:
img src='([^']*)'
() は、これが特別な結果 veriable に保存されることを意味します。したがって、正規表現が一致するものを見るのではなく、結果の変数を見てください。
[^']* は、"'" を除くすべての文字に一致します。

...そして、このタスクに HTML パーサーは必要ないと思います。本当に堅牢なコードを作成したい場合のみ:-)

于 2009-11-22T14:36:17.180 に答える
1

HTML パーサーを使用することを強くお勧めします。HTML は規則的ではないため、正規表現を使用した解析ではエラーやエッジ ケースなどが発生しやすくなります。

于 2009-11-22T14:34:07.970 に答える
0

パイプは、少し異なる獣です。私はこれが初めてなので、3 つの個別の検索ルールと置換ルールを作成して、コードを重要な URL だけに落とし込みました。

^.*= を [何もしない] に置き換えます

これは次のとおりです。

'http://profile.ak.fbcdn.net/object3/686/9/q142163634919_249.jpg'/&gt;&nbsp;&nbsp; Gift of Life Marathon Blood Drive - "the group stood before a sea of 1,000 Long Trail Brewing Co. pint glasses..." (Rutland Herald, VT)

交換 。[なし]で

これは先頭の ' を削除するだけです。

'.* を [何もしない] に置き換えます

これにより、' で始まる jpg の後のすべてが削除されます

最終結果: http://profile.ak.fbcdn.net/object3/686/9/q142163634919_249.jpg

これらの 3 つのルールを 1 つに結合する方法があると確信していますが、それを実行しようとするとエラーが発生しました。これは機能し、一貫して機能します。

于 2009-11-22T16:16:46.140 に答える