1

次の正規表現を使用して、テキストに URL が存在するかどうかを確認していますが、次のようないくつかの URL が欠落しているようです。

  • youtube.be/8P0BxJO
  • youtube.com/watch?v=VrmlFL

また、いくつかの bit.ly リンク (すべてではありません)

Match m = Regex.Match(nc[i].InnerText, 
   @"(http(s)?://)?([\w-]+\.)+[\w-]+(/\S\w[\w- ;,./?%&=]\S*)?");

if (m.Success)
{
    MessageBox.Show(nc[i].InnerText);
}

それを修正する方法はありますか?

4

1 に答える 1

0

この関連する質問を参照してください。最初の回答が役に立ちます。提案は、リンクを見つけてそれらを置き換えることの両方なので、明らかに必要なものだけを取ります。 これこの記事は、ほぼ同じ結果が得られるはずの異なるアプローチです。

別の(おそらくより信頼性の高い)非正規表現アプローチは、スペースと句読点で分割して文字列をトークン化し、トークンをチェックして、Uri.IsWellFormedUriString(整形式のURIでのみ機能する)を使用して有効なURIであるかどうかを確認することです。この質問は指摘します)。

于 2012-07-23T02:22:34.827 に答える