質問
私のC#のプログラムでは、私は、各ページからソースを取得し、正規表現を経由してURLを取得することで動作Googleの検索機能を、書いています。
私の実際の正規表現があります:
(?:(?:(?:http)://)(?:w{3}\\.)?(?:[a-zA-Z0-9/;\\?&=:\\-_\\$\\+!\\*'\\(\\|\\\\~\\[\\]#%\\.])+)
これは、現時点では良い作品が、私はhttp://www.example.com/forums/arcade.php?efdf=332
私はちょうど終わり?efdf=332
ことなく、この場合のURLを取得したい。
だから私は正規表現を変更する必要がありますか?
解決
http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+
あなたの正規表現(私は不必要な嫌なものの多くを削除した)と同じように行いますが?
前にリンクをマッチング停止します。
はC#:
Regex regexObj = new Regex(@"http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+")
、私は(https
など、何ftp
についてmailto
。?)確かこれは、一致するURLのような良い方法ではありませんよ。と
他のヒント
あなたは、さまざまな部分にアクセスするために Uri
のクラスを使用することができますURLのいずれかの端からクエリ文字列を削除する、またはしたい部分を連結します。
所属していません StackOverflow