java简单问题,新手求助 (5分)

java简单问题,新手求助 (5分)
我主要是想试用一下正则表达式:

import java.io.*;
import java.util.*;
import java.math.*;
import java.util.regex.*;
public class Main
{
public static void main(String[]args)
{
Scanner cin=new Scanner(System.in);
String eg="\\w+@\\w+(\\w{2,3})*\\.\\w{2.3}";
while(cin.hasNext())
{
String str=cin.nextLine();
if(str.matches(eg))
{
System.out.println(str+"有效地址");
}
else
{
System.out.println("无效地址");
}
}
}
}

可是输入后回车,报出错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed counted closure near index 23
\w+@\w+(\w{2,3})*\.\w{2.3}
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at Main.main(Main.java:15)

求前辈指点~
String eg="\\w+@\\核行w+(\\w{2,3})*\\.\\w{2.3}";改为String eg="神含\\w+@\\w+(\\w{2,3})*\\.\\w{2,3}";后面改瞎哗的{2.3}应为{2,3}
String eg="\\w+@\知芹汪森\w+(\\w{2,3})*\\搭陵毕.\\w{2.3}";
最后面逗号打成句号了w{2.3}
看到一个逗号,一个句号。。
2,3
← 上一篇: 下一篇: →