以下正则表达式匹配给定的电子邮件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