import java.util.regex.*;public class Test { public static void main(String[] args) throws IOException { String sql= "select a,b,c from A1 a1,B2 as a2 on a1.a = a2.b where d = select b from CC"; Pattern p = Pattern.compile("((?<=from)( \\w+)|(\\w+ )(?=as))",Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(sql); while(m.find()){ System.out.println(m.group(1).trim()); }
} }
报了下面的异常 Exception in thread "main" java.util.regex.PatternSyntaxException: Unknown inline modifier near index 3 ((? <=from)( \w+) ?(\w+ )(?=as)) ^ at java.util.regex.Pattern.error(Pattern.java:1578) at java.util.regex.Pattern.group0(Pattern.java:2337) at java.util.regex.Pattern.sequence(Pattern.java:1623) at java.util.regex.Pattern.expr(Pattern.java:1595) at java.util.regex.Pattern.group0(Pattern.java:2347) at java.util.regex.Pattern.sequence(Pattern.java:1623) at java.util.regex.Pattern.expr(Pattern.java:1595) at java.util.regex.Pattern.compile(Pattern.java:1328) at java.util.regex.Pattern.<init>(Pattern.java:1084) at java.util.regex.Pattern.compile(Pattern.java:833) at sql.TestExcel.main(TestExcel.java:46)
import java.util.regex.*; public class Test { public static void main(String[] args) throws IOException { String sql= "select a,b,c from A1 a1,B2 as a2 on a1.a = a2.b where d = select b from CC"; Pattern p = Pattern.compile("((?<=from)( \\w+) |(\\w+ )(?=as))",Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(sql); while(m.find()){ System.out.println(m.group(1).trim()); }
public static void main(String[] args) throws IOException {
String sql= "select a,b,c from A1 a1,B2 as a2 on a1.a = a2.b where d = select b from CC";
Pattern p = Pattern.compile("((?<=from)( \\w+)|(\\w+ )(?=as))",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(sql);
while(m.find()){
System.out.println(m.group(1).trim());
}
}
}
报了下面的异常
Exception in thread "main" java.util.regex.PatternSyntaxException: Unknown inline modifier near index 3
((? <=from)( \w+) ?(\w+ )(?=as))
^
at java.util.regex.Pattern.error(Pattern.java:1578)
at java.util.regex.Pattern.group0(Pattern.java:2337)
at java.util.regex.Pattern.sequence(Pattern.java:1623)
at java.util.regex.Pattern.expr(Pattern.java:1595)
at java.util.regex.Pattern.group0(Pattern.java:2347)
at java.util.regex.Pattern.sequence(Pattern.java:1623)
at java.util.regex.Pattern.expr(Pattern.java:1595)
at java.util.regex.Pattern.compile(Pattern.java:1328)
at java.util.regex.Pattern.<init>(Pattern.java:1084)
at java.util.regex.Pattern.compile(Pattern.java:833)
at sql.TestExcel.main(TestExcel.java:46)
import java.util.regex.*; public class Test {
public static void main(String[] args) throws IOException {
String sql= "select a,b,c from A1 a1,B2 as a2 on a1.a = a2.b where d = select b from CC";
Pattern p = Pattern.compile("((?<=from)( \\w+) |(\\w+ )(?=as))",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(sql);
while(m.find()){
System.out.println(m.group(1).trim());
}
}
在我这里运行得好好的,怎么会报错呢?
你直接把代码复制过去~~~
A1
B2
没有CC啊