-1

私は正規表現が得意ではないので、これを投稿しています.htmlからすべてのURLとすべてのメールを取得するコードがあります。しかし、私は次のものが必要です。以下を使用してすべての URL を取得できます。

Regex regx = new Regex("http://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?",
                        RegexOptions.IgnoreCase);
                        MatchCollection ms = regx.Matches(body);

                        foreach (Match m in ms)
                        {
                            string tmpLink = m.Value.ToString();

                        }

wwwの後に数字が含まれている場合、さらに一致させたいと思います。だから私はそれをスパムとしてマークします。または、この内部ループの代わりに1つの完全なコードが存在する可能性があります。電子メールでも同様で、@の後に番号がある電子メールを取得します。

4

1 に答える 1

1

正規表現は次のように機能します: http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\ (\)_\-\=\+\\\/\?\.\:\;\'\,]*)?

http:// - http://

([\\w+?\\.\\w+])+ - 次のいずれかが 1 回以上発生する - 単語文字+、、、?(.不要なエスケープ.)

([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?- 単語文字またはリストされた文字が 0 回以上出現するオプション部分 (不要なエスケープがいっぱい)

for のhttp://後にwww.usehttp://www\.http://www\.\d+[\w.]*matcheshttp://www.が続き、その後に 1 つ以上の数字が続き、その後に 0 個以上の単語文字またはドットが続きます。

の後に数字が続く電子メールの場合は@、 を使用します[A-Za-z]\w+\@\d+[\w.]*

注:あなたの要件についてはわかりません。

于 2013-02-12T06:27:37.723 に答える