2016-06-25 3 views

答えて

3

は複数のプログラミング言語で電子メールアドレスの正規表現を共有します。

のJava:

/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i 

のC#:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])? 

C#Javaのドキュメントを見て、正規表現を使用するか、と仮定するとJava example/C# example

+0

はい。妥当性確認の目的のために...そうですね、上記の式タグを使用してメールを取得するにはどうすればいいですか –

+0

リンクされた例を見てみましょう – Fruchtzwerg

0

ここでは2つの例がありますあなたの電子メールは空白で区切られ、中に「@」が付きます

Javaでは
public static void Main() 
{ 
    string text = "There is an [email protected] address in this string"; 
    int indexOfAt = text.IndexOf('@'); 
    int end = text.IndexOf(' ', indexOfAt); 
    int start = text.LastIndexOf(' ', indexOfAt)+1; 
    string email = text.Substring(start, end - start); 
    Console.WriteLine(email); 
} 
0

、テキストの特定の部分に電子メールアドレスのすべてを見つけるために、このようなものを使用します。

import java.util.regex.Pattern; 
import java.util.regex.Matcher; 

public class EmailAddressMatcher { 
    public static void main(String[] args) { 
     String text = "jhon's email address is [email protected]"; 

     Pattern pattern = Pattern.compile("([a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)", Pattern.CASE_INSENSITIVE); 
     Matcher matcher = pattern.matcher(text); 

     while (matcher.find()) { 
      System.out.println("found: " + matcher.group(1)); 
     } 
    } 
} 

あなたはマッチした電子メールアドレスをキャプチャしたい場合は、単にであることを行いますwhile (matcher.find())ループ。各matcher.group(1)は、本文中の電子メールアドレスです。

関連する問題