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]+)([^\\\\/]*)$