我正在尝试将正则表达式查询转换为关键字查询,以便关键字查询为我提供了正则表达式查询的超集。例如
为此,我正在寻找一个正则表达式树,其叶元素可以组合以获取关键字查询。我试图访问用于存储正则表达式的java中的模式类内部的数据结构。请告诉我如何做到这一点或是否有其他方式。
答案 0 :(得分:0)
System.out.println(
( "host."
+ "\nhost ((?10\\.6\\.2*)) ChuckN*"
+ "\nhost.* registered.+"
+ "\n10\\.64\\.2*"
)
.replaceAll("(.?\\*)", "*")
.replaceAll("\\.\\+", "*")
.replaceAll("\\\\.", " ")
.replaceAll("(\\.?[^A-Za-z0-9 \\*\\n])", "")
);
输出
host
host 10 6 * Chuck*
host* registered*
10 64 *
修改:上次替换所有行已更正。
您可能必须在最后的 .replaceAll(“sString”,“”)中完成sString。