1

こんにちは、私はJavascriptでこの正規表現を持っています:

var urlregex = new RegExp("((www.)(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)");

そして、Java String に配置しようとすると、次のエラーが発生します。

Description Resource    Path    Location    Type
Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )   CreateActivity.java /SupLink/src/com/supinfo/suplink/activities line 43 Java Problem

したがって、これを行うためにJavaでレンダリングするために何を変更する必要があるかを知りたいだけです(この関数は正常に実行されます):

private boolean IsMatch(String s, String pattern) 
    {
        try {
            Pattern patt = Pattern.compile(pattern);
            Matcher matcher = patt.matcher(s);
            return matcher.matches();
        } catch (PatternSyntaxException e){
            return false;
        }
}       

編集 :

助けてくれてありがとう、今私はこれを持っています:

private String regex = "((www.)(([a-zA-Z0-9-]){2,}\\.){1,4}([a-zA-Z]){2,6}(\\/([a-zA-Z-_\\/\\.0-9#:?=&;,]*)?)?)";

しかし、私は本当に欲しいものと一致しません (正規表現は恐ろしい^^)、これらのタイプの URL を一致させたいと思います:

  • www.something.com
  • 何か.com
  • something.com/anotherthing/なんでも

また助けてくれませんか?

本当にありがとう

4

3 に答える 3

0

現在、正規表現はwww開始時に必要です。オプションにしたい場合は の?後に追加して(www.)ください。また、あなたはおそらくパートの.後に逃げたいと思うでしょうwww. あなたの正規表現はおそらく次のようになります。

"((www\\.)?(([a-zA-Z0-9-]){2,}\\.){1,4}([a-zA-Z]){2,6}(\\/([a-zA-Z-_\\/\\.0-9#:?=&;,]*)?)?)"
于 2013-04-09T19:54:48.697 に答える
0

\ をスケープする必要があります

このようなもの

"((www.)(([a-zA-Z0-9-]){2,}\\.){1,4}([a-zA-Z]){2,6}(\\/([a-zA-Z-_\\/\\.0-9#:?=&;,]*)?)?)"
于 2013-04-09T18:52:06.137 に答える