有电子邮件模式:
^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z.]*[a-zA-Z]$
以及尝试从字符串获取电子邮件的示例代码:
String email = "NAME <firstname_lastname@domain.com>";
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(email);
if (matcher.find()) {
System.out.println(matcher.group());
}
当 regexp 包含^
和$
字符时,matcher.find()
返回 false,但是当 regexp 没有这些字符时,一切都很好:我firstname_lastname@domain.com
在控制台中看到。
您能否解释一下带和不带^
and的正则表达式之间的区别$
?
如何强制 Matcher 使用包含^
and的正则表达式$
?