我正在尝试为以下模式创建正则表达式...例如:
osystems::win.2.vm#true AND osystems::win.2.vm#false AND (osystems::win.7.headless#false OR browsers::firefox.version#8)
我希望使用正则表达式解析它,最后得到以下内容:
然后我需要遍历列表执行必要的操作...从括号中的那些开始,以防有任何操作。
非常感谢任何帮助。
答案 0 :(得分:0)
在以下示例中,定义了两个正则表达式组。也许您可以使用它并扩展逻辑,如果看到“浏览器”它属于之前的操作系统。
String in = "osystems::win.2.vm#true AND osystems::win.2.vm#false AND (osystems::win.7.headless#false OR browsers::firefox.version#8)";
Pattern p = Pattern.compile("(\\w+::\\w+.\\d+.\\w+#\\w+)|(\\w+::\\w+.\\w+#\\d)");
Matcher m = p.matcher(in);
while(m.find()) {
System.out.println(m.group());
}
输出:
osystems::win.2.vm#true
osystems::win.2.vm#false
osystems::win.7.headless#false
browsers::firefox.version#8