java简单问题,新手求助 (5分)
我主要是想试用一下正则表达式:importjava.io.*;importjava.util.*;importjava.math.*;importjava.util.re...
我主要是想试用一下正则表达式:
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.<init>(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)
求前辈指点~ 展开
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.<init>(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)
求前辈指点~ 展开
4个回答
展开全部
String eg="\\w+@\\w+(\\w{2,3})*\\.\\w{2.3}";改为String eg="\\w+@\\w+(\\w{2,3})*\\.\\w{2,3}";后面的{2.3}应为{2,3}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-11-10
展开全部
String eg="\\w+@\\w+(\\w{2,3})*\\.\\w{2.3}";
最后面逗号打成句号了w{2.3}
最后面逗号打成句号了w{2.3}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看到一个逗号,一个句号。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询