我必须使用schemacrawler添加要抓取的选定模式。我们如何将多个模式添加到schemacrawler的包含规则中?
喜欢:
final SchemaCrawlerOptions options = new SchemaCrawlerOptions();
options.setSchemaInclusionRule(new InclusionRule("schema1,schema2", InclusionRule.NONE));
答案 0 :(得分:1)
InclusionRule接受正则表达式模式。您可以传递java.util.regex.Pattern实例或String,在后一种情况下,它将为您编译。如果我没有弄错的话,您可以使用|
符号来模式匹配多个选项。例如,"schema1|schema2"
。
您可以使用简单的程序测试您的模式; e.g。
import java.util.regex.Pattern;
public class PatternTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("schema1|schema2");
System.out.println(p.matcher("schema0").matches());
System.out.println(p.matcher("schema1").matches());
System.out.println(p.matcher("schema2").matches());
System.out.println(p.matcher("schema3").matches());
}
}
..打印:
false
true
true
false