Google Web Toolkit - 无法使用

时间:2011-08-11 19:15:02

标签: java regex web-applications gwt

我正在尝试使用

中描述的正则表达式模式检查方法

How to check if a given Regex is valid?

import java.util.regex.Pattern
import java.util.regex.PatternSyntaxException

public class RegexTester {
    public static void main(String[] arguments) {
        String userInputPattern = arguments[0];
        try {
            Pattern.compile(userInputPattern);
       } catch (PatternSyntaxException exception) {
            System.err.println(exception.getDescription());
            System.exit(1);
        }
       System.out.println("Syntax is ok.");
    }
}

(使用Google Web ToolKit)但我一直收到“失败”消息“:

  

插件无法连接到127.0.0.1:9997

的开发模式服务器

每当我使用Pattern.compile(String)方法时。

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:2)

您应该使用'com.google.gwt.regexp.shared.RegExp',而不是'java.util.regex。*'。

答案 1 :(得分:0)

某些字符具有特殊含义,称为元字符。 所以提供下面的示例代码。

我建议你去看看 metacharactersjava.util.regex.Pattern

String s = "+1234567890PrasadBelhe1234567890";
System.out.println("args[0]:"+args[0]);
if(args[0].startsWith("+")||args[0].startsWith("?")||args[0].startsWith("*")){
    System.out.println("Invalid regex :"+args[0]);//added basic
    System.exit(1);
}
else{
    if(args[0].equals(".classpath")) args[0]=".";//java default
    //Pattern p = Pattern.compile(Pattern.quote(args[0]));
    Pattern p = Pattern.compile(args[0]);
    Matcher mymacher = p.matcher(s);
    System.out.println("Finding results...");
    while(mymacher.find()) System.out.println(s.substring( mymacher.start(), mymacher.end()));
    System.out.println("Syntax is ok:"+args[0]);
}