这似乎是一个简单的问题,但我真的无法理解为什么它不起作用。
如何从文本中获取带有Java
的电子邮件的典型示例,我希望代码输出找到的电子邮件,但我没有输出,请参阅代码摘录:
package regex;
import java.util.regex.*;
public class EsempioPatternMatcher {
public static void main(String[] args) {
String emails = "info@mariorossi.it))"+
"adfdagfgaafgValidator(\"paolo.pa@paolorossi.it\"));"+
"rintlnx.rerewqwrwe\"mario@bianchi.it\"));";
String regex = "([a-zA-Z0-9.-_]+@+[a-zA-Z0-9.-]+\\.[a-zA-Z] {2,})";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(emails);
while (m.find())
System.out.println(m.group());
}
}
我认为这是regex
但事实上,即使我很容易做到,我也不会输出任何东西。似乎m.find()
与任何东西都不匹配。
我看过其他例子,这似乎是处理这种情况的常用代码......我做错了什么?
谢谢! ë
答案 0 :(得分:0)
试试这个,它适用于我的机器。
import java.util.regex.*;
public class EsempioPatternMatcher {
public static void main(String[] args) {
String emails = "info@mariorossi.it))"+
"adfdagfgaafgValidator(\"paolo.pa@paolorossi.it\"));"+
"rintlnx.rerewqwrwe\"mario@bianchi.it\"));";
Matcher m = Pattern.compile("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+").matcher(emails);
while (m.find( ))
System.out.println(m.group());
}
}
希望这有帮助!
此致 Eby J