2016-09-21 2 views
0

VB.NETスクレイパーに少し問題があります。すでにダウンロードしたhtml文字列のリンクをすべて取得するはずです。私はチェックしたので)、それは私の正規表現の文字列で何かでなければなりません。リンク要素を傷つけるRegexの文字列の問題

私の正規表現文字列:<a.*?href=""(.*?)"".*?>(.*?)</a>

これは、いくつかのサイトのために動作しますが、他の人のために、それはしません。

ここには、一致するか一致しないHTMLソースの例があります。

ワーキング:

<a href="http://domain.com" rel="nofollow" onmousedown="return clk('25936','3')" target="_blank">/a> 

が機能していない:

<a href='http://domain.com' target="_blank" ><font size=2><b>text</b></a> 

それが原因"'のだろうか?以下の正規表現と

+0

どのように正規表現を使用していますか?なぜ2つの二重引用符がありますか? – Tushar

+0

まあ、お互いの隣に二重引用符があると " – Anders

+0

あなたの正規表現が最初の例とどのようにマッチしているのかわかりません(あなたが使っているツール/言語は何ですか?)[こちら](https://regex101.com/r/xO1iQ0)あなたの正規表現を使って遊んでください。 – Kamehameha

答えて

2

チェック:

<a.*?href=[",'](.*?)[",'].*?><\/a>

あなたは2回を二重引用符を使用しています。 a tagのhrefは一重引用符と二重引用符で使用されるため、両方でチェックする必要があります。

+0

ありがとう、それは素晴らしい仕事をした! – Anders

関連する問題