以下正则表达式匹配给定的电子邮件ID,包括空白输入-
^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})?$哪里,
^匹配句子的开头。
[a-zA-Z0-9 ._%+-]匹配英文字母(两种情况),数字,@符号前的“ +”,“ _”,“。”,“”和“-”中的一个字符。
+表示重复上述字符集一次或多次。
@匹配自己
[a-zA-Z0-9.-]匹配英语字母(两种情况)中的一个字符,数字“。”。和@符号后的“-”
\。[a-zA-Z] {2,6}电子邮件域后的“ 2”至2个字母。
$表示句子的结尾
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SampleTest {
public static void main( String args[] ) {
String regex = "^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})?$";
//读取用户输入
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.nextLine();
System.out.println("Enter your e-mail: ");
String e_mail = sc.nextLine();
System.out.println("Enter your age: ");
int age = sc.nextInt();
//实例化Pattern类
Pattern pattern = Pattern.compile(regex);
//实例化Matcher类
Matcher matcher = pattern.matcher(e_mail);
//验证是否发生匹配
if(matcher.find()) {
System.out.println("e-mail value accepted");
} else {
System.out.println("e-mail not value accepted");
}
}
}Enter your name: krishna Enter your e-mail: Enter your age: 20 e-mail value accepted
Enter your name: Rajeev Enter your e-mail: rajeev.123@gmail.com Enter your age: 25 e-mail value accepted
import java.util.Scanner;
public class Example {
public static void main(String args[]) {
//从用户读取字符串
System.out.println("Enter email address: ");
Scanner sc = new Scanner(System.in);
String e_mail = sc.nextLine();
//正则表达式
String regex = "^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})?$";
boolean result = e_mail.matches(regex);
if(result) {
System.out.println("Valid match");
} else {
System.out.println("Invalid match");
}
}
}Enter email address: rajeev.123@gmail.com Valid match
Enter email address: Valid match