My regular expression:
java.util.regex.PatternSyntaxException: Unclosed character class near index 14
[^]*?¥(\d*.\d*)
^
But I can't find any flaw in my expression and it works well on http://regexr.com/.
My intention for [^]:
Use [^] to match any character because . only match any character except line break.
Call code:
Pattern pattern = compile(regex);
StackTrace:
0 = {StackTraceElement@12872} "java.util.regex.Pattern.error(Pattern.java:1955)"
1 = {StackTraceElement@12873} "java.util.regex.Pattern.clazz(Pattern.java:2548)"
2 = {StackTraceElement@12874} "java.util.regex.Pattern.sequence(Pattern.java:2063)"
3 = {StackTraceElement@12875} "java.util.regex.Pattern.expr(Pattern.java:1996)"
4 = {StackTraceElement@12876} "java.util.regex.Pattern.compile(Pattern.java:1696)"
5 = {StackTraceElement@12877} "java.util.regex.Pattern.<init>(Pattern.java:1351)"
6 = {StackTraceElement@12878} "java.util.regex.Pattern.compile(Pattern.java:1028)"
...
EDIT:
[^.]*?¥(\d*.\d*) works. It seems java.util.regex doesn't support [^] to match any character.
If any one is willing to write some explanation for that, I will accept it as answer.
[^]match any character but.match any character except line break[^]is only valid in JavaScript. In Java,[^]is an unclosed character class that negates the character set that matches](plus anything that comes after it)