我在检查电子邮件地址^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$
我已经尝试过这个正则表达式验证器:https://regex101.com并且没有问题,但是在java中添加反斜杠时{@ 1}}它不起作用。
为了匹配我正在使用此代码:
"^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})$"
答案 0 :(得分:1)
要在正则表达式中使用不区分大小写的修饰符,可以使用Pattern.CASE_INSENSITIVE
编译模式,也可以在模式的开头使用内联修饰符(?i)
。
String email_pattern = "(?i)^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})$"
或
Pattern ptrn = Pattern.compile(EMAIL_PATTERN, Pattern.CASE_INSENSITIVE)
请注意,所有不区分大小写的Android regexp都支持Unicode 。见Android regex syntax reference:
请注意,在Android上,
UNICODE_CASE
始终处于开启状态:不区分大小写的匹配始终可识别Unicode。
答案 1 :(得分:0)
使用以下代码进行电子邮件字符串验证。
private boolean isValidEmaillId(String email) {
return Pattern
.compile(
"^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@"
+ "((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+ "[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\."
+ "([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+ "[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+ "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$")
.matcher(email).matches();
}