私が直面している問題は、何らかの理由でわからない論理的な推論のほうが多いです。正規表現とコーディング関連です。.NET - Regex Pattern Matching
これは、ドキュメントからリンクを抽出するために使用するパターンです。
http(s)?://([\w+?\.\w+])+([a-zA-Z0-9\~\!\^\&\*\(\)_\-\=\+\\\?\/\.\:\;\'\,]*)?
それはそれを一緒にコンパイルするために私にしばらく時間がかかったが、それは本当によく働く、二つのリンクが接続されている場合しかし、私の問題は、それが単一のマッチとしてそれらを抽出している、すべてのドキュメントからリンクを抽出します。
正規表現パターンの末尾に "http"を置いて、検索を終了させようとしましたが、これはうまくいかずでした。 たとえば、次のような2つのリンクは1つの一致として表示されます(元の文書のように見られます)。
http://www.preemptive.com/dotfuscator/dtd/dotfuscatorMap_v1.0.dtd/dotfuscatorMap_v1.0.dtdhttp://www.preemptive.com/dotfuscator/dtd/dotfuscatorMap_v1.1.dtd/dotfuscatorMap_v1.1.dtd
見てみたい場合は正規表現コードを使用してください。
Dim regexFunc As New Regex("http(s)?://([\w+?\.\w+])+([a-zA-Z0-9\~\!\^\&\*\(\)_\-\=\+\\\?\/\.\:\;\'\,]*)?", RegexOptions.IgnoreCase)
Dim matches As MatchCollection = regexFunc.Matches(_dataLoaded.ToString)
For Each x As Match In matches
'// A match has been found, can contain one or more links connected.
Next
質問:試合は複数のリンクを持っている場合、私は..と言う配列にそれらのそれぞれを保存することができるように、それはリンクのそれぞれを分離したときにどのようにそれを持ってするには?おかげさまで
「https」:// \ w +(?:\。\ w +)+(?:(?!https?://)[a-zA-Z0-9〜!& * )_ = + \\?/。:; '、 - ])* ""、https://regex101.com/r/ihSKvA/2を参照してください(このコメントからパターンをコピー/ペーストしないでください。 '()'の後) –
良い量指定子の使い方... @WiktorStribiżew – Codexer
これは実際にはかなりうまく動作します。私のニーズに合わせてここを少し変更しましたが、全体的にはその仕事をしています。 ウェブサイトもありがとう@WiktorStribiżew – Karizan