0

私のC#プログラムでは、各ページからソースを取得し、正規表現を介してURLを取得することで機能するGoogle検索関数を作成しました。

私の実際の正規表現は次のとおりです。

(?:(?:(?:http)://)(?:w{3}\\.)?(?:[a-zA-Z0-9/;\\?&=:\\-_\\$\\+!\\*'\\(\\|\\\\~\\[\\]#%\\.])+)

これは現時点ではうまく機能しますが、たとえば次のようなURLを取得しますhttp://www.example.com/forums/arcade.php?efdf=332

?efdf=332この場合、末尾にを付けずにURLを取得したいだけです。

では、正規表現をどのように変更すればよいですか?

4

2 に答える 2

1
http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+

正規表現と同じように動作しますが(不要な断片をたくさん削除しました)、の前のリンクの一致を停止し?ます。

C#の場合:

Regex regexObj = new Regex(@"http://(?:www\.)?[a-zA-Z0-9/;&=:_$+!*'()|~\[\]#%.\\-]+")

とはいえ、これがURLを照合するための良い方法かどうかはわかりません(、、httpsなどftpmailtoどうですか?)

于 2010-11-21T14:14:26.543 に答える
0

このUriクラスを使用して、URLのさまざまな部分にアクセスし、クエリ文字列を末尾から削除するか、必要な部分を連結することができます。

于 2010-11-21T14:15:40.933 に答える