Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式模式语法异常_Java_Regex - Fatal编程技术网

Java 正则表达式模式语法异常

Java 正则表达式模式语法异常,java,regex,Java,Regex,我正在使用这个正则表达式: [Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$ 当我转换为模式时,它会引发异常: pattern = Pattern.compile(regExp.get(i)); 05-15 11:16:06.914: E/AndroidRuntime(5268): java.util.regex.PatternSyntaxException: Missing closing bracket in character class

我正在使用这个
正则表达式

[Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$
当我转换为
模式时,它会引发异常:

pattern = Pattern.compile(regExp.get(i));


    05-15 11:16:06.914: E/AndroidRuntime(5268): java.util.regex.PatternSyntaxException: Missing closing bracket in character class near index 43:
05-15 11:16:06.914: E/AndroidRuntime(5268): [Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$
05-15 11:16:06.914: E/AndroidRuntime(5268):                                            ^
05-15 11:16:06.914: E/AndroidRuntime(5268):     at java.util.regex.Pattern.compileImpl(Native Method)
05-15 11:16:06.914: E/AndroidRuntime(5268):     at java.util.regex.Pattern.compile(Pattern.java:400)
05-15 11:16:06.914: E/AndroidRuntime(5268):     at java.util.regex.Pattern.<init>(Pattern.java:383)
05-15 11:16:06.914: E/AndroidRuntime(5268):     at java.util.regex.Pattern.compile(Pattern.java:374)
pattern=pattern.compile(regExp.get(i));
05-15 11:16:06.914:E/AndroidRuntime(5268):java.util.regex.PatternSyntaxException:索引43附近的字符类中缺少右括号:
5-15 11:16:06.914:E/AndroidRuntime(5268):[Ss]([0-9]+)[.[.\u-]*[Ee]([0-9]+)([^\\/]*)$
05-15 11:16:06.914:E/AndroidRuntime(5268):^
05-15 11:16:06.914:E/AndroidRuntime(5268):位于java.util.regex.Pattern.compileImpl(本机方法)
05-15 11:16:06.914:E/AndroidRuntime(5268):位于java.util.regex.Pattern.compile(Pattern.java:400)
05-15 11:16:06.914:E/AndroidRuntime(5268):位于java.util.regex.Pattern.(Pattern.java:383)
05-15 11:16:06.914:E/AndroidRuntime(5268):位于java.util.regex.Pattern.compile(Pattern.java:374)
java正则表达式测试仪上运行时,它工作正常。我想我需要逃离这里的一些角色

2个问题我在这里看到:

  • 您使用的是空字符类
    []
  • 反斜杠需要更多的转义
  • 您可以使用此正则表达式:

    [Ss]([0-9]+)[ ._-]*[Ee]([0-9]+)([^\\\\/]*)$